time="2024-06-14T15:03:36Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-device-1 Creating Container integration-test-experiment-1 Creating Container integration-test-gateway-1 Creating Container integration-test-federation-1 Creating Container integration-test-authentication-1 Creating Container integration-test-authorization-1 Creating Container integration-test-authorization-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | 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.14.0 federation-1 exited with code 1 authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-06-14T15:04:09Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:41730","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-06-14T15:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:41730","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.30423,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:10Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1718377450.1460423} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1718377450.1461155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1718377450.1461275} 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":1718377450.1461403} 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":1718377450.1461518} 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":1718377450.1461847,"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":1718377450.1465962} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1718377450.1474068} 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:50230","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-06-14T15:04:10.170118645Z","id":"01J0BME2NTAC1R4JQ974MW22PB","name":"crosslab","updated_at":"2024-06-14T15:04:10.170118645Z"},"request_id":"8ae787dc-b852-42d8-8ca8-ed207a8c860c","subsystem":"openfga","timestamp":1718377450.170348} 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:50230","raw_request":{"schema_version":"1.1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01J0BME2QC3MCNTGY4R9X5ATT4"},"request_id":"1c1b6bc1-8553-4831-85b0-566e8cc5b023","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377450.2206326} authorization-1 | {"client_addr":"127.0.0.1:41730","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-06-14T15:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:41730","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.415312,"resp_status":204,"subsystem":"opa","time":"2024-06-14T15:04:10Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.65.0/opa_linux_amd64","latest_version":"0.65.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.65.0","subsystem":"opa","time":"2024-06-14T15:04:10Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:16 +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.027","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"80a350e046d4d5fefc4030d7e383179b"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 18ms","method":"HEAD","requestID":"80a350e046d4d5fefc4030d7e383179b","responseTime":18,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"14/Jun/2024:15:04:16 +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.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"9176571c6b71e17073950b87bc5b228f"} device-1 | {"level":"info","message":"HEAD /device/status 200 9ms","method":"HEAD","requestID":"5e473780-2a5f-11ef-8ed1-011028b23f76","responseTime":9,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"14/Jun/2024:15:04:16 +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.016","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f2d707c4d96b91e57847ef1be0134b7f"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 7ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"f2d707c4d96b91e57847ef1be0134b7f"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"14/Jun/2024:15:04:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38fba870e29aefd6de1d87eb3ecf3219"} authentication-1 | {"level":"info","message":"POST /login 201 142ms","method":"POST","requestID":"38fba870e29aefd6de1d87eb3ecf3219","responseTime":142,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ1OX0.n0Rqe7BcpBWHHYS7BGp9XLUKRM6iJDDfw_t-mPpiI0s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"5d6312bcdc462fd66347fb1599155b11","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.626396,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377459,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ1OX0.n0Rqe7BcpBWHHYS7BGp9XLUKRM6iJDDfw_t-mPpiI0s"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d6312bcdc462fd66347fb1599155b11"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0eee5c42-457c-4255-b699-d6c5abc391ac","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.3613687} 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":"5d6312bcdc462fd66347fb1599155b11"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01c48df8-7bbd-45c9-bad8-5779bceff127","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.3769968} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d6312bcdc462fd66347fb1599155b11"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"68afd33e-ada0-495a-b2d2-326e58440b4d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.395846} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33a446d2-af33-4dc3-8a81-215599357a3d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.3964713} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d6312bcdc462fd66347fb1599155b11"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.395820105Z"}]},"request_id":"6fb71ab4-485e-4bca-b695-3f16604142d5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.4041584} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d6312bcdc462fd66347fb1599155b11"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.273","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d6312bcdc462fd66347fb1599155b11"} device-1 | {"level":"info","message":"POST /devices? 201 230ms","method":"POST","requestID":"5d6312bcdc462fd66347fb1599155b11","responseTime":231,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ1OX0.n0Rqe7BcpBWHHYS7BGp9XLUKRM6iJDDfw_t-mPpiI0s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1bacfcb6af86716f3a8c6dbb7b967112","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.717546,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377459,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ1OX0.n0Rqe7BcpBWHHYS7BGp9XLUKRM6iJDDfw_t-mPpiI0s"} 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":"1bacfcb6af86716f3a8c6dbb7b967112"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b2b43f60-c761-41cf-a375-e557d6538fc3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.463826} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1bacfcb6af86716f3a8c6dbb7b967112"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42990f65-ae52-4a2f-bb08-50d51960f18c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.4709735} 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":"1bacfcb6af86716f3a8c6dbb7b967112"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"5670c450-dcc1-4793-bc7f-cd8fef488d34","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.4873009} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f51d5603-005e-4856-ae90-d668d1b47e20","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.4875314} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1bacfcb6af86716f3a8c6dbb7b967112"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.487284893Z"}]},"request_id":"a378854e-62c6-46b6-ad19-b68cbc29669d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377459.5007172} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1bacfcb6af86716f3a8c6dbb7b967112"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bacfcb6af86716f3a8c6dbb7b967112"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"1bacfcb6af86716f3a8c6dbb7b967112","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"f1cba938b83a60b0f71d20f70a39bb67","responseTime":3,"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 2ms","method":"GET","requestID":"50e838d94ca706ad48e7b74de65a7cb4","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.009","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f1cba938b83a60b0f71d20f70a39bb67"} device-1 | {"level":"info","message":"OPTIONS /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f/websocket 200 3ms","method":"OPTIONS","requestID":"f1cba938b83a60b0f71d20f70a39bb67","responseTime":3,"status":200,"url":"/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:04:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.012","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"50e838d94ca706ad48e7b74de65a7cb4"} device-1 | {"level":"info","message":"OPTIONS /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3/websocket 200 1ms","method":"OPTIONS","requestID":"50e838d94ca706ad48e7b74de65a7cb4","responseTime":1,"status":200,"url":"/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2MX0.2p_XDWj6eYSeS18szOpnGJj2xQ5kUsOqd8uBQGzUEHI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"87b3f4651985f8502099e4ffe12ffec3","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2MX0.2p_XDWj6eYSeS18szOpnGJj2xQ5kUsOqd8uBQGzUEHI","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"497b8b08c6b19df066f76a4bb2d84b18","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76557,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377461,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2MX0.2p_XDWj6eYSeS18szOpnGJj2xQ5kUsOqd8uBQGzUEHI"} 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":"87b3f4651985f8502099e4ffe12ffec3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:21Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847266,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377461,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2MX0.2p_XDWj6eYSeS18szOpnGJj2xQ5kUsOqd8uBQGzUEHI"} 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":"497b8b08c6b19df066f76a4bb2d84b18"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"497b8b08c6b19df066f76a4bb2d84b18"} device-1 | {"level":"info","message":"POST /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3/websocket 200 36ms","method":"POST","requestID":"497b8b08c6b19df066f76a4bb2d84b18","responseTime":36,"status":200,"url":"/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"87b3f4651985f8502099e4ffe12ffec3"} device-1 | {"level":"info","message":"POST /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f/websocket 200 42ms","method":"POST","requestID":"87b3f4651985f8502099e4ffe12ffec3","responseTime":42,"status":200,"url":"/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1d3934a4041802f50cb440328d614012","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.256686,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"1d3934a4041802f50cb440328d614012"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.395820105Z"}]},"request_id":"d156d71d-8e9a-463d-a6d3-8feaac1ff1f3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.0373096} 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":"1d3934a4041802f50cb440328d614012"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d3934a4041802f50cb440328d614012"} device-1 | {"level":"info","message":"GET /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3? 200 34ms","method":"GET","requestID":"1d3934a4041802f50cb440328d614012","responseTime":34,"status":200,"url":"/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1d079755a672baee66d6513903ea9cf5","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323842,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"1d079755a672baee66d6513903ea9cf5"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.487284893Z"}]},"request_id":"f26639c6-e97d-4b33-ae4c-016c1e404f6a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.0834384} 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":"1d079755a672baee66d6513903ea9cf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d079755a672baee66d6513903ea9cf5"} device-1 | {"level":"info","message":"GET /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f? 200 28ms","method":"GET","requestID":"1d079755a672baee66d6513903ea9cf5","responseTime":28,"status":200,"url":"/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c17854eb353a240c43ab5485f4545f39","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:44380","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.746213,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"c17854eb353a240c43ab5485f4545f39"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"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:44380","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715348,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"61cc3f90-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608855,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"61cc8db0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.395820105Z"}]},"request_id":"e2d942e9-12ea-4da6-bf0b-4622178c9074","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.2948167} 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":"61cc3f90-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.487284893Z"}]},"request_id":"69c2c6e3-c587-47d5-840b-42e9879ce559","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.2967002} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61cc8db0-2a5f-11ef-8ed1-011028b23f76"},"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/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3? 200 24ms","method":"GET","requestID":"61cc3f90-2a5f-11ef-8ed1-011028b23f76","responseTime":24,"status":200,"url":"/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f? 200 23ms","method":"GET","requestID":"61cc8db0-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"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/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757601,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"61da2240-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.045157,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"61da7060-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.395820105Z"}]},"request_id":"b99fe266-39ae-4326-b316-3431743c28de","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.388515} 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":"61da2240-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.487284893Z"}]},"request_id":"ecf93b2a-39f0-4196-a97f-2e83e43ec907","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.3903708} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61da7060-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"GET /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3? 200 24ms","method":"GET","requestID":"61da2240-2a5f-11ef-8ed1-011028b23f76","responseTime":24,"status":200,"url":"/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c9ccff5-1b84-403e-b684-e2fc7b908244#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c9ccff5-1b84-403e-b684-e2fc7b908244","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"bd000769-d8df-4911-843d-d00f6fce962b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.3953266} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f? 200 26ms","method":"GET","requestID":"61da7060-2a5f-11ef-8ed1-011028b23f76","responseTime":26,"status":200,"url":"/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c62c68f7-c253-4d01-a5b1-f247023b1502","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.4011118} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c17854eb353a240c43ab5485f4545f39"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.002303,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","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":"61dfc790-2a5f-11ef-8ed1-011028b23f76"},"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/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3/signaling 200 16ms","method":"POST","requestID":"61dfc790-2a5f-11ef-8ed1-011028b23f76","responseTime":16,"status":200,"url":"/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3/signaling"} gateway-1 | {"time_local":"14/Jun/2024:15:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.326","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c17854eb353a240c43ab5485f4545f39"} experiment-1 | {"level":"info","message":"POST /experiments? 201 301ms","method":"POST","requestID":"c17854eb353a240c43ab5485f4545f39","responseTime":301,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba2db9126a4e58ea0407f15eb5e4f4fd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.88617,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","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":"61e34a00-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799614,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"ba2db9126a4e58ea0407f15eb5e4f4fd"},"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/620020d5-9455-4c6b-90d6-e558d2a3cb8f/signaling 200 13ms","method":"POST","requestID":"61e34a00-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ad12b51-c5a0-4e5a-a85e-5e314800a1f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.395820105Z"}]},"request_id":"24891a2d-ee34-487a-a563-492d0254c0c5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.4470627} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"5f205fd9-80f3-4c8c-85a8-436fcd45001e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8fec07cc-ddb6-4515-b447-a9623aaac1d9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a67b31c7-9038-4256-88c1-86dbea5a1812"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba2db9126a4e58ea0407f15eb5e4f4fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3? 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":"ba2db9126a4e58ea0407f15eb5e4f4fd"} device-1 | {"level":"info","message":"GET /devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3? 200 18ms","method":"GET","requestID":"ba2db9126a4e58ea0407f15eb5e4f4fd","responseTime":18,"status":200,"url":"/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8065488eabb3a5ba0548da93f2594687","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.066906,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"61e6cc70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019521,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"8065488eabb3a5ba0548da93f2594687"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F620020d5-9455-4c6b-90d6-e558d2a3cb8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:19.487284893Z"}]},"request_id":"b8a06af2-f917-4315-88e3-53803f050350","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.476895} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8065488eabb3a5ba0548da93f2594687"},"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":"14/Jun/2024:15:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f? 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":"8065488eabb3a5ba0548da93f2594687"} device-1 | {"level":"info","message":"GET /devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f? 200 21ms","method":"GET","requestID":"8065488eabb3a5ba0548da93f2594687","responseTime":21,"status":200,"url":"/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"c501dfd3-b01b-4a8c-bf85-0888773062bc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.483847} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3003e046-9bbe-4b5c-8bd0-652a0e9c7c31","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.4848678} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"61e6cc70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} 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/2eb1e00b-3e1f-4f54-9705-b789348f095b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b'"} 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 49ms","method":"POST","requestID":"61e6cc70-2a5f-11ef-8ed1-011028b23f76","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2eb1e00b-3e1f-4f54-9705-b789348f095b","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":"d1f791ffc2e0977391769a64ac7cb8fd","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/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"2eb1e00b-3e1f-4f54-9705-b789348f095b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2eb1e00b-3e1f-4f54-9705-b789348f095b","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"d1f791ffc2e0977391769a64ac7cb8fd","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1f791ffc2e0977391769a64ac7cb8fd"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2eb1e00b-3e1f-4f54-9705-b789348f095b","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":"067bd6ea08ef70aa22aaa8c2f4e6751a","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/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2eb1e00b-3e1f-4f54-9705-b789348f095b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a73abf5f-afae-4333-ba42-a4e87ff9917f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377462.8359306} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.332945,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"621f8fb0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b 200 15ms","method":"GET","requestID":"621f8fb0-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 55ms","method":"POST","requestID":"067bd6ea08ef70aa22aaa8c2f4e6751a","responseTime":55,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"067bd6ea08ef70aa22aaa8c2f4e6751a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"a81ca31d2d1effc71a91d27ce3a43efb","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.158596,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"a81ca31d2d1effc71a91d27ce3a43efb"},"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/3c9ccff5-1b84-403e-b684-e2fc7b908244"} gateway-1 | {"time_local":"14/Jun/2024:15:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a81ca31d2d1effc71a91d27ce3a43efb"} experiment-1 | {"level":"info","message":"GET /experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244 200 27ms","method":"GET","requestID":"a81ca31d2d1effc71a91d27ce3a43efb","responseTime":27,"status":200,"url":"/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"675af1ca886dd85238a490a81b1ff876","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.804575,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"675af1ca886dd85238a490a81b1ff876"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.336358,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377462,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Mn0.7heuCvC-OhFkVU5t1egQoz1IDrF4b7qtzthzkWBSVrE"} 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":"62333ec0-2a5f-11ef-8ed1-011028b23f76"},"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/2eb1e00b-3e1f-4f54-9705-b789348f095b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2eb1e00b-3e1f-4f54-9705-b789348f095b","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 3ms","method":"GET","requestID":"0ad0cb014463fc35eb4dfe2d063c18fb","responseTime":3,"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/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ddf55858ac7d0d9a01c3844ec4ba39b5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/620020d5-9455-4c6b-90d6-e558d2a3cb8f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"2eb1e00b-3e1f-4f54-9705-b789348f095b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2eb1e00b-3e1f-4f54-9705-b789348f095b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2eb1e00b-3e1f-4f54-9705-b789348f095b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"e2b6cd27-574c-4c3f-a400-782bc00962bc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.0187805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48d04406-821c-425b-8687-0d3747185fe0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.0196397} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"62333ec0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":45}} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b 204 84ms","method":"DELETE","requestID":"62333ec0-2a5f-11ef-8ed1-011028b23f76","responseTime":84,"status":204,"url":"/peerconnections/2eb1e00b-3e1f-4f54-9705-b789348f095b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c9ccff5-1b84-403e-b684-e2fc7b908244': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c9ccff5-1b84-403e-b684-e2fc7b908244","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"df50a352-a241-4417-a6d0-64f83731a957","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.0986996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f3e4ed4-31d9-4958-a87d-4cb93341f6b3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.099183} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"675af1ca886dd85238a490a81b1ff876"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"} gateway-1 | {"time_local":"14/Jun/2024:15:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.252","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"675af1ca886dd85238a490a81b1ff876"} experiment-1 | {"level":"info","message":"DELETE /experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244 204 245ms","method":"DELETE","requestID":"675af1ca886dd85238a490a81b1ff876","responseTime":245,"status":204,"url":"/experiments/3c9ccff5-1b84-403e-b684-e2fc7b908244"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"0ad0cb014463fc35eb4dfe2d063c18fb","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"0ad0cb014463fc35eb4dfe2d063c18fb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 183ms","method":"POST","requestID":"ddf55858ac7d0d9a01c3844ec4ba39b5","responseTime":183,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"ddf55858ac7d0d9a01c3844ec4ba39b5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2M30.3Fyj5b87lgnp400ZXybxGPS2Dra_VVO1NBv4T-ZCjXc","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"14/Jun/2024:15:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1487","request_time":"1.213","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9b0ef52f4cf1d52246a18ca9018deeb3"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8512993cb5ba5f24171db4150d65801f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:23Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"1.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":"b66da6e721fcf3ee40b7a2d06f189646"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.891654,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377463,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2M30.3Fyj5b87lgnp400ZXybxGPS2Dra_VVO1NBv4T-ZCjXc"} 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":"8512993cb5ba5f24171db4150d65801f"},"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/620020d5-9455-4c6b-90d6-e558d2a3cb8f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6ad12b51-c5a0-4e5a-a85e-5e314800a1f3' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49883c69-9cd5-4953-8089-eb10e92ffa44","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2125149} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8512993cb5ba5f24171db4150d65801f"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05bc91d6-ba62-4b9c-a95b-72f788022c95","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.219882} 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":"8512993cb5ba5f24171db4150d65801f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"66024c55-4e6c-4a02-8c9e-d5f46ade3792","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2328906} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e528558-3892-4065-a019-94e14a84e14a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2330987} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8512993cb5ba5f24171db4150d65801f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.232879922Z"}]},"request_id":"1179188f-2845-41a9-aba7-7878b537b06e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2377758} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8512993cb5ba5f24171db4150d65801f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8512993cb5ba5f24171db4150d65801f"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"8512993cb5ba5f24171db4150d65801f","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2M30.3Fyj5b87lgnp400ZXybxGPS2Dra_VVO1NBv4T-ZCjXc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17d002fc40c0b35390cc426d3635f19b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.632996,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377463,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2M30.3Fyj5b87lgnp400ZXybxGPS2Dra_VVO1NBv4T-ZCjXc"} 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":"17d002fc40c0b35390cc426d3635f19b"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e2fa32d4-a457-4bad-8783-17448fd08c22","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2653663} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17d002fc40c0b35390cc426d3635f19b"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12231b2a-02be-43ba-ab94-e8246192dfd6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2724307} 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":"17d002fc40c0b35390cc426d3635f19b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"a2c3b2f6-5690-49c6-9b20-895438ef7e8c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2899468} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95d37bcb-07e0-4738-8f5f-a2c22ce9db7a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2901032} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17d002fc40c0b35390cc426d3635f19b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.289935941Z"}]},"request_id":"b8cc2ed5-eba9-44f0-81e6-7b2855a29a56","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.2981873} 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":"17d002fc40c0b35390cc426d3635f19b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17d002fc40c0b35390cc426d3635f19b"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"17d002fc40c0b35390cc426d3635f19b","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2M30.3Fyj5b87lgnp400ZXybxGPS2Dra_VVO1NBv4T-ZCjXc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"f313c135ef8b809ca1419c9abbafa7b7","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.589248,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377463,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2M30.3Fyj5b87lgnp400ZXybxGPS2Dra_VVO1NBv4T-ZCjXc"} 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":"f313c135ef8b809ca1419c9abbafa7b7"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.289935941Z"}]},"request_id":"c2503785-075e-4c30-8551-402e06244032","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.9370751} 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":"f313c135ef8b809ca1419c9abbafa7b7"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63eae97d-00bf-4e64-bb95-ac051675702e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.9468722} 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":"f313c135ef8b809ca1419c9abbafa7b7"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.289935941Z"}]},"request_id":"bc525e17-75ef-4836-9e9b-bcb5bf8cdc73","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377463.9665687} 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":"f313c135ef8b809ca1419c9abbafa7b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3f88c623-abc7-4937-a1e0-b16e2952c716 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.082","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f313c135ef8b809ca1419c9abbafa7b7"} device-1 | {"level":"info","message":"PATCH /devices/3f88c623-abc7-4937-a1e0-b16e2952c716 200 71ms","method":"PATCH","requestID":"f313c135ef8b809ca1419c9abbafa7b7","responseTime":71,"status":200,"url":"/devices/3f88c623-abc7-4937-a1e0-b16e2952c716"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2M30.3Fyj5b87lgnp400ZXybxGPS2Dra_VVO1NBv4T-ZCjXc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f0cce21b21ff41a8032509dc31f0e318","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878017,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377463,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2M30.3Fyj5b87lgnp400ZXybxGPS2Dra_VVO1NBv4T-ZCjXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0cce21b21ff41a8032509dc31f0e318"},"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/3f88c623-abc7-4937-a1e0-b16e2952c716/websocket 200 16ms","method":"POST","requestID":"f0cce21b21ff41a8032509dc31f0e318","responseTime":16,"status":200,"url":"/devices/3f88c623-abc7-4937-a1e0-b16e2952c716/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3f88c623-abc7-4937-a1e0-b16e2952c716/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f0cce21b21ff41a8032509dc31f0e318"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716' 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":"249884253698cb94977cf56eae059369","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6/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":"249884253698cb94977cf56eae059369"} device-1 | {"level":"info","message":"OPTIONS /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6/websocket 200 2ms","method":"OPTIONS","requestID":"249884253698cb94977cf56eae059369","responseTime":2,"status":200,"url":"/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"839ba8256d00c78174bced8932b63acd","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.910895,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"839ba8256d00c78174bced8932b63acd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"839ba8256d00c78174bced8932b63acd"} device-1 | {"level":"info","message":"POST /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6/websocket 200 38ms","method":"POST","requestID":"839ba8256d00c78174bced8932b63acd","responseTime":38,"status":200,"url":"/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"05e9877265a5ea50eecd66ebd61b774d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.39908,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"05e9877265a5ea50eecd66ebd61b774d"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.232879922Z"}]},"request_id":"e37c1185-292e-4eaf-959b-51d4e2dc60f6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.3731756} 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":"05e9877265a5ea50eecd66ebd61b774d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05e9877265a5ea50eecd66ebd61b774d"} device-1 | {"level":"info","message":"GET /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6? 200 25ms","method":"GET","requestID":"05e9877265a5ea50eecd66ebd61b774d","responseTime":25,"status":200,"url":"/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"32d31966573bae2363f0ed96d91fae85","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216923,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"32d31966573bae2363f0ed96d91fae85"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.289935941Z"}]},"request_id":"0809eb46-f873-440a-ba76-1df94eaf207c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.4092386} 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":"32d31966573bae2363f0ed96d91fae85"},"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":"14/Jun/2024:15:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3f88c623-abc7-4937-a1e0-b16e2952c716? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32d31966573bae2363f0ed96d91fae85"} device-1 | {"level":"info","message":"GET /devices/3f88c623-abc7-4937-a1e0-b16e2952c716? 200 24ms","method":"GET","requestID":"32d31966573bae2363f0ed96d91fae85","responseTime":24,"status":200,"url":"/devices/3f88c623-abc7-4937-a1e0-b16e2952c716?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2bd1d8b22b85e2041353691295bec99d","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:44380","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.369595,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"2bd1d8b22b85e2041353691295bec99d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"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:44380","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128232,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"63b7bbe0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.225672,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"63b80a00-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.232879922Z"}]},"request_id":"02d9c44f-89c3-489e-87f9-35bb7e2ad9d7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.5183847} 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":"63b7bbe0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.289935941Z"}]},"request_id":"3b2a61a4-eef6-4116-8ee8-51587941c149","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.5202734} 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":"63b80a00-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6? 200 27ms","method":"GET","requestID":"63b7bbe0-2a5f-11ef-8ed1-011028b23f76","responseTime":27,"status":200,"url":"/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3f88c623-abc7-4937-a1e0-b16e2952c716? 200 28ms","method":"GET","requestID":"63b80a00-2a5f-11ef-8ed1-011028b23f76","responseTime":28,"status":200,"url":"/devices/3f88c623-abc7-4937-a1e0-b16e2952c716?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"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:44380","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.613399,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"63c688f0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.35443,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"63c6fe20-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.232879922Z"}]},"request_id":"ef112675-902f-4ccb-8c74-98e35cc09431","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.6193457} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.289935941Z"}]},"request_id":"25dde0e2-cd47-4194-b681-17a53650e049","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.6209962} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63c688f0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63c6fe20-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b8db04a-3971-499b-8299-d0cbaef3b70d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b8db04a-3971-499b-8299-d0cbaef3b70d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"a30109ca-d5dc-4d13-931d-fceba0106c8c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.632224} device-1 | {"level":"info","message":"GET /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6? 200 33ms","method":"GET","requestID":"63c688f0-2a5f-11ef-8ed1-011028b23f76","responseTime":33,"status":200,"url":"/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1f6bb91-e499-4757-8a1e-2378e7c724dd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.632543} device-1 | {"level":"info","message":"GET /devices/3f88c623-abc7-4937-a1e0-b16e2952c716? 200 32ms","method":"GET","requestID":"63c6fe20-2a5f-11ef-8ed1-011028b23f76","responseTime":32,"status":200,"url":"/devices/3f88c623-abc7-4937-a1e0-b16e2952c716?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bd1d8b22b85e2041353691295bec99d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.193226,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","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 7ms","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":"63cd66c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2bd1d8b22b85e2041353691295bec99d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 227ms","method":"POST","requestID":"2bd1d8b22b85e2041353691295bec99d","responseTime":227,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6/signaling 200 15ms","method":"POST","requestID":"63cd66c0-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"752f6e5a1635ec26ed5c95394aec3903","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.759863,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","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":"63d07400-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} device-1 | {"level":"info","message":"POST /devices/3f88c623-abc7-4937-a1e0-b16e2952c716/signaling 200 15ms","method":"POST","requestID":"63d07400-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/3f88c623-abc7-4937-a1e0-b16e2952c716/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.373477,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Attempting to create peerconnections for experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"5075cf4d-2a88-489b-ae3d-19a7c34825b1"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"28b0317a-c3a4-4aa2-916f-e0aa11c9d28d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"edd6dd6d-96b2-4f0d-b452-47ae69671024"}]},"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/3f88c623-abc7-4937-a1e0-b16e2952c716"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} 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":"752f6e5a1635ec26ed5c95394aec3903"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bb5c9-f52b-467b-b34b-9aaccd9e78e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.232879922Z"}]},"request_id":"5d2ebd57-c0f2-426e-8cc8-150db6105472","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.688376} 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":"752f6e5a1635ec26ed5c95394aec3903"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.180779,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"63d3cf60-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"752f6e5a1635ec26ed5c95394aec3903"} device-1 | {"level":"info","message":"GET /devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6? 200 33ms","method":"GET","requestID":"752f6e5a1635ec26ed5c95394aec3903","responseTime":33,"status":200,"url":"/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c3806bf4371950301e3759a7e2c76925","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"403fab28-abbd-4410-ab34-f8def371dd59","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.7123494} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71360fef-a3aa-48e3-a8b2-758014c468f5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.7126725} 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":"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":"63d3cf60-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277137,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377465,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2NX0.g7A8kGTV36h1CDKgrXykIuicZVohk3rAPspwOvkmJsk"} 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":"c3806bf4371950301e3759a7e2c76925"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f88c623-abc7-4937-a1e0-b16e2952c716","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:23.289935941Z"}]},"request_id":"477b7757-023c-4004-bc13-72118776bd32","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377465.7281005} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3806bf4371950301e3759a7e2c76925"},"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/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 57ms","method":"POST","requestID":"63d3cf60-2a5f-11ef-8ed1-011028b23f76","responseTime":57,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3f88c623-abc7-4937-a1e0-b16e2952c716? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3806bf4371950301e3759a7e2c76925"} device-1 | {"level":"info","message":"GET /devices/3f88c623-abc7-4937-a1e0-b16e2952c716? 200 36ms","method":"GET","requestID":"c3806bf4371950301e3759a7e2c76925","responseTime":36,"status":200,"url":"/devices/3f88c623-abc7-4937-a1e0-b16e2952c716?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","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/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","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":"31d2955bb43241bc70f0af45007a82cd","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/3f88c623-abc7-4937-a1e0-b16e2952c716"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 15ms","method":"POST","requestID":"31d2955bb43241bc70f0af45007a82cd","responseTime":15,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.021","http_referrer":"","http_user_agent":"node-fetch","requestID":"31d2955bb43241bc70f0af45007a82cd"} device-1 | {"data":{"peerconnection":"9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","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":"76f9afc7dfb45d90dca57cad0e9f5474","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/3f88c623-abc7-4937-a1e0-b16e2952c716"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:26Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dcf34408-6bec-491f-b6c1-bdc6967bb960","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377466.8826466} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.813092,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","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":"64893cb0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9 200 16ms","method":"GET","requestID":"64893cb0-2a5f-11ef-8ed1-011028b23f76","responseTime":16,"status":200,"url":"/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 57ms","method":"POST","requestID":"76f9afc7dfb45d90dca57cad0e9f5474","responseTime":57,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.062","http_referrer":"","http_user_agent":"node-fetch","requestID":"76f9afc7dfb45d90dca57cad0e9f5474"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Nn0.qW1yXM6i7K4YQA8G7cSvtBSdeTvZqUieZXQVOYsrKS0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"10d454c2339af8f8c3bc10f07cccd23f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.341299,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377466,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Nn0.qW1yXM6i7K4YQA8G7cSvtBSdeTvZqUieZXQVOYsrKS0"} 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":"10d454c2339af8f8c3bc10f07cccd23f"},"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/2b8db04a-3971-499b-8299-d0cbaef3b70d"} gateway-1 | {"time_local":"14/Jun/2024:15:04:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10d454c2339af8f8c3bc10f07cccd23f"} experiment-1 | {"level":"info","message":"GET /experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d 200 20ms","method":"GET","requestID":"10d454c2339af8f8c3bc10f07cccd23f","responseTime":20,"status":200,"url":"/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Nn0.qW1yXM6i7K4YQA8G7cSvtBSdeTvZqUieZXQVOYsrKS0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"c2f552720bd99e84a3b7c8b84523475f","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.745835,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377466,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Nn0.qW1yXM6i7K4YQA8G7cSvtBSdeTvZqUieZXQVOYsrKS0"} 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":"c2f552720bd99e84a3b7c8b84523475f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.073178,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377466,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2Nn0.qW1yXM6i7K4YQA8G7cSvtBSdeTvZqUieZXQVOYsrKS0"} 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":"649b6520-2a5f-11ef-8ed1-011028b23f76"},"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/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","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":"006374f6d74af967dc82d7f78bb904e9","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)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d94ea48d1bf18d8305aa6ec7c664d301","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3f88c623-abc7-4937-a1e0-b16e2952c716"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"2031d670-a514-4443-856b-1c5a995d792d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.0348697} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21669984-4c56-4a04-991b-ad86d3d7cb24","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.035531} 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/3f88c623-abc7-4937-a1e0-b16e2952c716"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"649b6520-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"data":{"peerconnection":"9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9","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/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9 204 57ms","method":"DELETE","requestID":"649b6520-2a5f-11ef-8ed1-011028b23f76","responseTime":57,"status":204,"url":"/peerconnections/9ad6edcc-f1f1-43ee-9ff1-fa745a7d10b9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b8db04a-3971-499b-8299-d0cbaef3b70d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b8db04a-3971-499b-8299-d0cbaef3b70d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"de08ddc9-d638-448b-9cc3-24c806526f2a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.0901277} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38f6cdb6-0f54-4f4a-821a-9727e6782dc8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.0907648} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2f552720bd99e84a3b7c8b84523475f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"} gateway-1 | {"time_local":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2f552720bd99e84a3b7c8b84523475f"} gateway-1 | {"time_local":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"3.157","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6d3608c808dcaab4c0cc4dbacd822328"} experiment-1 | {"level":"info","message":"DELETE /experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d 204 192ms","method":"DELETE","requestID":"c2f552720bd99e84a3b7c8b84523475f","responseTime":192,"status":204,"url":"/experiments/2b8db04a-3971-499b-8299-d0cbaef3b70d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"006374f6d74af967dc82d7f78bb904e9","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"006374f6d74af967dc82d7f78bb904e9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"d94ea48d1bf18d8305aa6ec7c664d301","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"d94ea48d1bf18d8305aa6ec7c664d301"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2N30.0u_2wpqsqd63woYhE3xp56nOs3YK49OeMB4jNDueWU4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ee800c39ef78307908bbf65ca12adb14","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1516","request_time":"1.846","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"464e8fb9e407d07ccb243d1c061d9406"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.007311,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377467,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2N30.0u_2wpqsqd63woYhE3xp56nOs3YK49OeMB4jNDueWU4"} 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":"ee800c39ef78307908bbf65ca12adb14"},"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/3f88c623-abc7-4937-a1e0-b16e2952c716' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5946b2e6-4fc9-4361-8ada-a827482e346b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.200386} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee800c39ef78307908bbf65ca12adb14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ec9bb5c9-f52b-467b-b34b-9aaccd9e78e6' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96ad3466-f11c-40df-9d74-049618baaab1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.2077148} 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":"ee800c39ef78307908bbf65ca12adb14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"64375d3b-5075-41d9-9e65-02866d1d54f4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.2194862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9eb5bf0f-1f31-42ed-a9fe-92979eb3c4c8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.2198477} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee800c39ef78307908bbf65ca12adb14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.219474516Z"}]},"request_id":"8de320a2-0c4b-465c-b7a4-7b7f968b8217","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.2250514} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee800c39ef78307908bbf65ca12adb14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee800c39ef78307908bbf65ca12adb14"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"ee800c39ef78307908bbf65ca12adb14","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2N30.0u_2wpqsqd63woYhE3xp56nOs3YK49OeMB4jNDueWU4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4f314db5ebf2d7a5e5ae739b3031356f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.677174,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377467,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2N30.0u_2wpqsqd63woYhE3xp56nOs3YK49OeMB4jNDueWU4"} 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":"4f314db5ebf2d7a5e5ae739b3031356f"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"846e0331-cc04-4550-a1e9-e7583e090cc6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.2537692} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f314db5ebf2d7a5e5ae739b3031356f"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bea5ec4-27de-4d5e-8c1d-fa3711179eed","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.259535} 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":"4f314db5ebf2d7a5e5ae739b3031356f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"abad6a8a-b851-4591-baa8-aecaeb89924e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.278818} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9023b20f-978c-49af-a61e-20e367c3ce22","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.278949} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f314db5ebf2d7a5e5ae739b3031356f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.278802022Z"}]},"request_id":"1fb6375b-305f-4ab7-bc46-0c0e60ba4913","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.2888775} 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":"4f314db5ebf2d7a5e5ae739b3031356f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f314db5ebf2d7a5e5ae739b3031356f"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"4f314db5ebf2d7a5e5ae739b3031356f","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2N30.0u_2wpqsqd63woYhE3xp56nOs3YK49OeMB4jNDueWU4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d21ccf755d5390aac2f7e567b57c937","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188209,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377467,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2N30.0u_2wpqsqd63woYhE3xp56nOs3YK49OeMB4jNDueWU4"} 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":"8d21ccf755d5390aac2f7e567b57c937"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.219474516Z"}]},"request_id":"c6a48933-4815-43fe-bb02-4feedf6c96d8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.7838426} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d21ccf755d5390aac2f7e567b57c937"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"288c2095-935d-4fff-866f-22c02a33b2c3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.7919877} 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":"8d21ccf755d5390aac2f7e567b57c937"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.219474516Z"}]},"request_id":"feaa8d9f-d96c-49f0-ac9d-2c5b1279f756","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377467.8065805} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d21ccf755d5390aac2f7e567b57c937"},"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":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c72643f2-8771-4dc7-b679-0cf015bfee91 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8d21ccf755d5390aac2f7e567b57c937"} device-1 | {"level":"info","message":"PATCH /devices/c72643f2-8771-4dc7-b679-0cf015bfee91 200 41ms","method":"PATCH","requestID":"8d21ccf755d5390aac2f7e567b57c937","responseTime":41,"status":200,"url":"/devices/c72643f2-8771-4dc7-b679-0cf015bfee91"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2N30.0u_2wpqsqd63woYhE3xp56nOs3YK49OeMB4jNDueWU4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"42d5524965663f6ca0fe2d9325beb2e7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.224715,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377467,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2N30.0u_2wpqsqd63woYhE3xp56nOs3YK49OeMB4jNDueWU4"} 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":"42d5524965663f6ca0fe2d9325beb2e7"},"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":"14/Jun/2024:15:04:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c72643f2-8771-4dc7-b679-0cf015bfee91/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"42d5524965663f6ca0fe2d9325beb2e7"} device-1 | {"level":"info","message":"POST /devices/c72643f2-8771-4dc7-b679-0cf015bfee91/websocket 200 22ms","method":"POST","requestID":"42d5524965663f6ca0fe2d9325beb2e7","responseTime":22,"status":200,"url":"/devices/c72643f2-8771-4dc7-b679-0cf015bfee91/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91' 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":"5d8e8e051eece9a4cec19b4758edd350","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/05e3e0d6-5084-4940-a145-6ca8113b9500/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":"5d8e8e051eece9a4cec19b4758edd350"} device-1 | {"level":"info","message":"OPTIONS /devices/05e3e0d6-5084-4940-a145-6ca8113b9500/websocket 200 2ms","method":"OPTIONS","requestID":"5d8e8e051eece9a4cec19b4758edd350","responseTime":2,"status":200,"url":"/devices/05e3e0d6-5084-4940-a145-6ca8113b9500/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7a6af2e1ab8f975065c8ac5579a5aa9e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.368472,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"7a6af2e1ab8f975065c8ac5579a5aa9e"},"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":"14/Jun/2024:15:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/05e3e0d6-5084-4940-a145-6ca8113b9500/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7a6af2e1ab8f975065c8ac5579a5aa9e"} device-1 | {"level":"info","message":"POST /devices/05e3e0d6-5084-4940-a145-6ca8113b9500/websocket 200 27ms","method":"POST","requestID":"7a6af2e1ab8f975065c8ac5579a5aa9e","responseTime":27,"status":200,"url":"/devices/05e3e0d6-5084-4940-a145-6ca8113b9500/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aadb95a75390125a7c7c32c47cfbc2a9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.328595,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"aadb95a75390125a7c7c32c47cfbc2a9"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.219474516Z"}]},"request_id":"76947d77-acdd-4398-9463-55fa5c2359c2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.3671818} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aadb95a75390125a7c7c32c47cfbc2a9"},"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":"14/Jun/2024:15:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c72643f2-8771-4dc7-b679-0cf015bfee91? 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":"aadb95a75390125a7c7c32c47cfbc2a9"} device-1 | {"level":"info","message":"GET /devices/c72643f2-8771-4dc7-b679-0cf015bfee91? 200 21ms","method":"GET","requestID":"aadb95a75390125a7c7c32c47cfbc2a9","responseTime":21,"status":200,"url":"/devices/c72643f2-8771-4dc7-b679-0cf015bfee91?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e83f619523ee39706cb112692a8944c7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190142,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"e83f619523ee39706cb112692a8944c7"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.278802022Z"}]},"request_id":"cdb913c9-fc67-457e-8ae2-9001af6227ce","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.3959873} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e83f619523ee39706cb112692a8944c7"},"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":"14/Jun/2024:15:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05e3e0d6-5084-4940-a145-6ca8113b9500? 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":"e83f619523ee39706cb112692a8944c7"} device-1 | {"level":"info","message":"GET /devices/05e3e0d6-5084-4940-a145-6ca8113b9500? 200 19ms","method":"GET","requestID":"e83f619523ee39706cb112692a8944c7","responseTime":19,"status":200,"url":"/devices/05e3e0d6-5084-4940-a145-6ca8113b9500?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"34f7b9292ff61e5f1737db58f1aaa9a3","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:44380","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.374621,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"34f7b9292ff61e5f1737db58f1aaa9a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"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:44380","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.620314,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66150cd0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.572989,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66155af0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.219474516Z"}]},"request_id":"7296b39c-35d1-46e7-b2a4-bce12314b5e4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.4780326} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66150cd0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.278802022Z"}]},"request_id":"f75a0f2e-3810-43a1-a874-95e14d86ef9b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.47902} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66155af0-2a5f-11ef-8ed1-011028b23f76"},"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/c72643f2-8771-4dc7-b679-0cf015bfee91? 200 18ms","method":"GET","requestID":"66150cd0-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/c72643f2-8771-4dc7-b679-0cf015bfee91?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/05e3e0d6-5084-4940-a145-6ca8113b9500? 200 18ms","method":"GET","requestID":"66155af0-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/05e3e0d6-5084-4940-a145-6ca8113b9500?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"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:44380","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.299118,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"6622c870-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270507,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"66233da0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.219474516Z"}]},"request_id":"9222419d-0aca-4b51-816c-e3644321fea2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.5803092} 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":"6622c870-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.278802022Z"}]},"request_id":"e52acdde-253b-41e3-a948-fce2d53230f4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.5819118} 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":"66233da0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa015b1c4-b285-4078-b18c-265a4ad46077#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa015b1c4-b285-4078-b18c-265a4ad46077","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"9deabb13-ef15-457a-8b54-9d58f60126ca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.590595} device-1 | {"level":"info","message":"GET /devices/c72643f2-8771-4dc7-b679-0cf015bfee91? 200 32ms","method":"GET","requestID":"6622c870-2a5f-11ef-8ed1-011028b23f76","responseTime":32,"status":200,"url":"/devices/c72643f2-8771-4dc7-b679-0cf015bfee91?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50b2e033-8ccd-4a47-a5d8-0727e1e7c15e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.5911121} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/05e3e0d6-5084-4940-a145-6ca8113b9500? 200 30ms","method":"GET","requestID":"66233da0-2a5f-11ef-8ed1-011028b23f76","responseTime":30,"status":200,"url":"/devices/05e3e0d6-5084-4940-a145-6ca8113b9500?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34f7b9292ff61e5f1737db58f1aaa9a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.176674,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","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":"6628bbe0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34f7b9292ff61e5f1737db58f1aaa9a3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 197ms","method":"POST","requestID":"34f7b9292ff61e5f1737db58f1aaa9a3","responseTime":197,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c72643f2-8771-4dc7-b679-0cf015bfee91/signaling 200 15ms","method":"POST","requestID":"6628bbe0-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/c72643f2-8771-4dc7-b679-0cf015bfee91/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ad046c95607aa761a94d274a618630cf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":2.231035,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","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 9ms","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":"662bf030-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.734922,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"ad046c95607aa761a94d274a618630cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/05e3e0d6-5084-4940-a145-6ca8113b9500/signaling 200 19ms","method":"POST","requestID":"662bf030-2a5f-11ef-8ed1-011028b23f76","responseTime":19,"status":200,"url":"/devices/05e3e0d6-5084-4940-a145-6ca8113b9500/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Attempting to create peerconnections for experiment"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc72643f2-8771-4dc7-b679-0cf015bfee91","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.219474516Z"}]},"request_id":"7eeac0b8-1ab0-442a-83ed-d8ae6f9db606","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.6408074} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e0747f43-5cfe-41ba-9090-13c13aa1b4d3"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"94a77203-1ffa-43b5-b23c-30a3eae82086"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c2ee3f34-109a-4085-9780-5bf5f8454f87"}]},"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/c72643f2-8771-4dc7-b679-0cf015bfee91"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} 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":"ad046c95607aa761a94d274a618630cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c72643f2-8771-4dc7-b679-0cf015bfee91? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad046c95607aa761a94d274a618630cf"} device-1 | {"level":"info","message":"GET /devices/c72643f2-8771-4dc7-b679-0cf015bfee91? 200 27ms","method":"GET","requestID":"ad046c95607aa761a94d274a618630cf","responseTime":27,"status":200,"url":"/devices/c72643f2-8771-4dc7-b679-0cf015bfee91?"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":2.726812,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"66300ee0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de4c17a353b8c58809102c4e341e9046","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.348074,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377469,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ2OX0.0ruI_X1QKIzE1GijXTr1FhdmMfQi2elLHNwp5N0KI98"} 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":"de4c17a353b8c58809102c4e341e9046"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"48941757-30d5-47ac-bbcc-77afc608a007","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.6707006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f915fffd-b96f-4949-abf6-803e75b745fc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.6713507} 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":"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":"66300ee0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05e3e0d6-5084-4940-a145-6ca8113b9500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:27.278802022Z"}]},"request_id":"ad07b638-ceb0-4896-9472-c135fdb64a9f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377469.6729026} 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":"de4c17a353b8c58809102c4e341e9046"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05e3e0d6-5084-4940-a145-6ca8113b9500? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de4c17a353b8c58809102c4e341e9046"} device-1 | {"level":"info","message":"GET /devices/05e3e0d6-5084-4940-a145-6ca8113b9500? 200 31ms","method":"GET","requestID":"de4c17a353b8c58809102c4e341e9046","responseTime":31,"status":200,"url":"/devices/05e3e0d6-5084-4940-a145-6ca8113b9500?"} 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/e062b843-5e16-4107-8106-056a85fff178'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178'"} 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 49ms","method":"POST","requestID":"66300ee0-2a5f-11ef-8ed1-011028b23f76","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"e062b843-5e16-4107-8106-056a85fff178","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/e062b843-5e16-4107-8106-056a85fff178' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e062b843-5e16-4107-8106-056a85fff178","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":"e30ef30ce6a7f5daa4b8ee30d420aa52","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/c72643f2-8771-4dc7-b679-0cf015bfee91"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"e30ef30ce6a7f5daa4b8ee30d420aa52","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"e30ef30ce6a7f5daa4b8ee30d420aa52"} device-1 | {"data":{"peerconnection":"e062b843-5e16-4107-8106-056a85fff178","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e062b843-5e16-4107-8106-056a85fff178","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e062b843-5e16-4107-8106-056a85fff178","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":"5180f5cbbdcfa392e5b4424a1fe2c1d7","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/c72643f2-8771-4dc7-b679-0cf015bfee91"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:30Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe062b843-5e16-4107-8106-056a85fff178","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2efec68b-23b1-4c86-8f52-464f4d63faff","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377470.8232746} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.490744,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66e26ef0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/e062b843-5e16-4107-8106-056a85fff178 200 15ms","method":"GET","requestID":"66e26ef0-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/peerconnections/e062b843-5e16-4107-8106-056a85fff178"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"5180f5cbbdcfa392e5b4424a1fe2c1d7","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.061","http_referrer":"","http_user_agent":"node-fetch","requestID":"5180f5cbbdcfa392e5b4424a1fe2c1d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MH0.7G-w64aJHuey_8b4rKvcTpYfcUoQrNg7FCjuxHHbX1o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c8d8bae1bd2aaf1e063e4900743cd738","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a015b1c4-b285-4078-b18c-265a4ad46077"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.253527,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377470,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MH0.7G-w64aJHuey_8b4rKvcTpYfcUoQrNg7FCjuxHHbX1o"} 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":"c8d8bae1bd2aaf1e063e4900743cd738"},"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/a015b1c4-b285-4078-b18c-265a4ad46077"} gateway-1 | {"time_local":"14/Jun/2024:15:04:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a015b1c4-b285-4078-b18c-265a4ad46077 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8d8bae1bd2aaf1e063e4900743cd738"} experiment-1 | {"level":"info","message":"GET /experiments/a015b1c4-b285-4078-b18c-265a4ad46077 200 23ms","method":"GET","requestID":"c8d8bae1bd2aaf1e063e4900743cd738","responseTime":23,"status":200,"url":"/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MH0.7G-w64aJHuey_8b4rKvcTpYfcUoQrNg7FCjuxHHbX1o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ccae4180c16db2f9c161a93903122309","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a015b1c4-b285-4078-b18c-265a4ad46077"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.221135,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377470,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MH0.7G-w64aJHuey_8b4rKvcTpYfcUoQrNg7FCjuxHHbX1o"} 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":"ccae4180c16db2f9c161a93903122309"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:30Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.151841,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377470,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MH0.7G-w64aJHuey_8b4rKvcTpYfcUoQrNg7FCjuxHHbX1o"} 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":"66f49760-2a5f-11ef-8ed1-011028b23f76"},"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/e062b843-5e16-4107-8106-056a85fff178' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e062b843-5e16-4107-8106-056a85fff178","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":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe062b843-5e16-4107-8106-056a85fff178': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe062b843-5e16-4107-8106-056a85fff178","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"3c1676cb-507f-41ee-a935-4ac0609c80dd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377470.9548736} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b5dc7c5ade723dbf49d5b35918a69abf","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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a21f2ef-d1f2-445d-8446-eeab15e11589","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377470.9552312} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"07dbbfa1443bbd9513f1a40940c6afcf","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c72643f2-8771-4dc7-b679-0cf015bfee91"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e062b843-5e16-4107-8106-056a85fff178"}}},"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":"66f49760-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"data":{"peerconnection":"e062b843-5e16-4107-8106-056a85fff178","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/e062b843-5e16-4107-8106-056a85fff178 204 39ms","method":"DELETE","requestID":"66f49760-2a5f-11ef-8ed1-011028b23f76","responseTime":39,"status":204,"url":"/peerconnections/e062b843-5e16-4107-8106-056a85fff178"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa015b1c4-b285-4078-b18c-265a4ad46077': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa015b1c4-b285-4078-b18c-265a4ad46077","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"75c41470-6e4b-4537-9541-6bb410ab683e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.0095813} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"503d8238-a755-4e5d-97e9-0acb6da7cf89","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.0100338} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccae4180c16db2f9c161a93903122309"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a015b1c4-b285-4078-b18c-265a4ad46077"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a015b1c4-b285-4078-b18c-265a4ad46077 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ccae4180c16db2f9c161a93903122309"} experiment-1 | {"level":"info","message":"DELETE /experiments/a015b1c4-b285-4078-b18c-265a4ad46077 204 167ms","method":"DELETE","requestID":"ccae4180c16db2f9c161a93903122309","responseTime":167,"status":204,"url":"/experiments/a015b1c4-b285-4078-b18c-265a4ad46077"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"3.239","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f064e13a9e9513eb075a68707f6a59d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"b5dc7c5ade723dbf49d5b35918a69abf","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"b5dc7c5ade723dbf49d5b35918a69abf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"07dbbfa1443bbd9513f1a40940c6afcf","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"07dbbfa1443bbd9513f1a40940c6afcf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d50a788e6e0678fd4f184f2ca43726e5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1516","request_time":"1.763","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"10eefde268e2e05d72d7de89b7f08cd2"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.959363,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"d50a788e6e0678fd4f184f2ca43726e5"},"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/c72643f2-8771-4dc7-b679-0cf015bfee91' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cdcdb3e5-1583-4e8d-87ae-33af7caf07ca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.110437} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d50a788e6e0678fd4f184f2ca43726e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/05e3e0d6-5084-4940-a145-6ca8113b9500' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"530e4b89-07ec-4674-9bca-3496c2dfd041","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.1167202} 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":"d50a788e6e0678fd4f184f2ca43726e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"1bb9b075-18ca-43f1-9144-2fdd7edd375b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.125746} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43527e9c-0e53-45af-bcbe-8997998c62b5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.12603} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d50a788e6e0678fd4f184f2ca43726e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.125734149Z"}]},"request_id":"a517dd32-a852-42c3-acde-5069e1239856","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.1321886} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d50a788e6e0678fd4f184f2ca43726e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d50a788e6e0678fd4f184f2ca43726e5"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"d50a788e6e0678fd4f184f2ca43726e5","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bc245826d2d91dd375d36e18548718c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.729443,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"7bc245826d2d91dd375d36e18548718c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0da49160-174e-449b-bb9a-1c56a18e0c9f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.1557143} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc245826d2d91dd375d36e18548718c"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf89545a-918a-4ed5-ac25-b72b438967ed","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.1609826} 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":"7bc245826d2d91dd375d36e18548718c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0c964955-7759-459f-b6df-0628f3c0443b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.1775508} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b788a97-9278-4f10-a7bb-73cf8d1ab169","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.1778002} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc245826d2d91dd375d36e18548718c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.177539349Z"}]},"request_id":"b6e9a3e2-b784-4968-a357-718d434b393d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.1819222} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc245826d2d91dd375d36e18548718c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bc245826d2d91dd375d36e18548718c"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"7bc245826d2d91dd375d36e18548718c","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7c4be9d547df5d65350246d2125044c2","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a1ebc3e459d8b74afec21f3ec1c05aa1","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673525,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c4be9d547df5d65350246d2125044c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.515283,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ebc3e459d8b74afec21f3ec1c05aa1"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.125734149Z"}]},"request_id":"7426a7cb-05f2-44f4-9100-4d0ad8869584","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.6516542} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c4be9d547df5d65350246d2125044c2"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.177539349Z"}]},"request_id":"28bbd6fb-2c51-48e7-ad67-fa75c2f65579","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.652909} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ebc3e459d8b74afec21f3ec1c05aa1"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f432460-fcfe-4687-8696-5e9d03cc7c6b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.6586592} 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":"7c4be9d547df5d65350246d2125044c2"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04cededb-8e6a-4a9f-912c-198ac2b41832","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.660068} 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":"a1ebc3e459d8b74afec21f3ec1c05aa1"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.177539349Z"}]},"request_id":"7f858691-f04d-4c8b-b414-f66c2221f24d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.6636558} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ebc3e459d8b74afec21f3ec1c05aa1"},"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":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a78e8146-a7a8-4581-827b-f8aee99353e3 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a1ebc3e459d8b74afec21f3ec1c05aa1"} device-1 | {"level":"info","message":"PATCH /devices/a78e8146-a7a8-4581-827b-f8aee99353e3 200 25ms","method":"PATCH","requestID":"a1ebc3e459d8b74afec21f3ec1c05aa1","responseTime":25,"status":200,"url":"/devices/a78e8146-a7a8-4581-827b-f8aee99353e3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c6f8e769c33507fa38d89a275aa3c522","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.125734149Z"}]},"request_id":"d9c2d90b-bd28-443f-b0a5-09fc38809afd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.6760335} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c4be9d547df5d65350246d2125044c2"},"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:44380","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.122353,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7c4be9d547df5d65350246d2125044c2"} device-1 | {"level":"info","message":"PATCH /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2 200 40ms","method":"PATCH","requestID":"7c4be9d547df5d65350246d2125044c2","responseTime":40,"status":200,"url":"/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2"} 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":"c6f8e769c33507fa38d89a275aa3c522"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"741974675cefef4c9fbaa79b2d44bebb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.039061,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"741974675cefef4c9fbaa79b2d44bebb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a78e8146-a7a8-4581-827b-f8aee99353e3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c6f8e769c33507fa38d89a275aa3c522"} device-1 | {"level":"info","message":"POST /devices/a78e8146-a7a8-4581-827b-f8aee99353e3/websocket 200 20ms","method":"POST","requestID":"c6f8e769c33507fa38d89a275aa3c522","responseTime":20,"status":200,"url":"/devices/a78e8146-a7a8-4581-827b-f8aee99353e3/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"741974675cefef4c9fbaa79b2d44bebb"} device-1 | {"level":"info","message":"POST /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2/websocket 200 19ms","method":"POST","requestID":"741974675cefef4c9fbaa79b2d44bebb","responseTime":19,"status":200,"url":"/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f9e95089caaec0e5ee20f2fface79d7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68986,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f9e95089caaec0e5ee20f2fface79d7"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.125734149Z"}]},"request_id":"b65a5c38-c3e0-45b3-9fa0-94906a5df8fb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.747285} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f9e95089caaec0e5ee20f2fface79d7"},"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":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2? 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":"6f9e95089caaec0e5ee20f2fface79d7"} device-1 | {"level":"info","message":"GET /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2? 200 14ms","method":"GET","requestID":"6f9e95089caaec0e5ee20f2fface79d7","responseTime":14,"status":200,"url":"/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ab7877beb64595c51773a1bc0e40048d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.043713,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"ab7877beb64595c51773a1bc0e40048d"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.177539349Z"}]},"request_id":"003714a8-d1e2-4c77-9134-8315279a1d9d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.7682726} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab7877beb64595c51773a1bc0e40048d"},"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/a78e8146-a7a8-4581-827b-f8aee99353e3? 200 14ms","method":"GET","requestID":"ab7877beb64595c51773a1bc0e40048d","responseTime":14,"status":200,"url":"/devices/a78e8146-a7a8-4581-827b-f8aee99353e3?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a78e8146-a7a8-4581-827b-f8aee99353e3? 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":"ab7877beb64595c51773a1bc0e40048d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4875c3a0690ba27c93817dfbb9b2e8a6","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:44380","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.448188,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"4875c3a0690ba27c93817dfbb9b2e8a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"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:44380","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661842,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"677d9d80-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.058196,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"677deba0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.125734149Z"}]},"request_id":"501dfce5-00fd-4534-a6f0-e9ae0255d160","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.844727} 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":"677d9d80-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.177539349Z"}]},"request_id":"9a1fc7fc-4913-44b1-9ccf-9cf3b10aa73c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.8462634} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"677deba0-2a5f-11ef-8ed1-011028b23f76"},"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/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2? 200 22ms","method":"GET","requestID":"677d9d80-2a5f-11ef-8ed1-011028b23f76","responseTime":22,"status":200,"url":"/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a78e8146-a7a8-4581-827b-f8aee99353e3? 200 21ms","method":"GET","requestID":"677deba0-2a5f-11ef-8ed1-011028b23f76","responseTime":21,"status":200,"url":"/devices/a78e8146-a7a8-4581-827b-f8aee99353e3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"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/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180457,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"67890f30-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.690675,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"67895d50-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.125734149Z"}]},"request_id":"7f30416b-9857-4551-b77b-dc19f49e5cea","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.9261746} 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":"67890f30-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.177539349Z"}]},"request_id":"a7ad5d00-ac2e-4bbd-8f76-df496eb308db","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.928145} 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":"67895d50-2a5f-11ef-8ed1-011028b23f76"},"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/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2? 200 29ms","method":"GET","requestID":"67890f30-2a5f-11ef-8ed1-011028b23f76","responseTime":29,"status":200,"url":"/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a78e8146-a7a8-4581-827b-f8aee99353e3? 200 29ms","method":"GET","requestID":"67895d50-2a5f-11ef-8ed1-011028b23f76","responseTime":29,"status":200,"url":"/devices/a78e8146-a7a8-4581-827b-f8aee99353e3?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a12e27d-7254-4bd1-85d8-b604172b383f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a12e27d-7254-4bd1-85d8-b604172b383f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"335c6536-dfef-4d2d-8699-e18bb2e1ed8b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.9401817} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ba70789-4f55-434d-b46b-b892bb94a790","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.9404798} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4875c3a0690ba27c93817dfbb9b2e8a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.631112,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","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":"678e6660-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4875c3a0690ba27c93817dfbb9b2e8a6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"4875c3a0690ba27c93817dfbb9b2e8a6","responseTime":174,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2/signaling 200 15ms","method":"POST","requestID":"678e6660-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"83f149d751f4a5c04e3c0e9d0319a490","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.219123,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","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":"67914c90-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.002795,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"83f149d751f4a5c04e3c0e9d0319a490"},"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/a78e8146-a7a8-4581-827b-f8aee99353e3/signaling 200 16ms","method":"POST","requestID":"67914c90-2a5f-11ef-8ed1-011028b23f76","responseTime":16,"status":200,"url":"/devices/a78e8146-a7a8-4581-827b-f8aee99353e3/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6a2dcc4-5bc0-4cd9-93de-345b86d06dd2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.125734149Z"}]},"request_id":"5b68c153-8488-4cab-b9f2-635fd37a519e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377471.9782069} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"38258d86-417f-4d02-9dec-ec212dbadd5f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"76f5467d-429f-4a3d-8aa5-9743bb3df078"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dac3cb7b-734c-4161-a458-e68065c6172f"}]},"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/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83f149d751f4a5c04e3c0e9d0319a490"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83f149d751f4a5c04e3c0e9d0319a490"} device-1 | {"level":"info","message":"GET /devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2? 200 22ms","method":"GET","requestID":"83f149d751f4a5c04e3c0e9d0319a490","responseTime":22,"status":200,"url":"/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2?"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.53785,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} 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":"679480e0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8174793e243b427a6caf9384ec13a957","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.287062,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377471,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3MX0.15rblbbGdj56PmkOkLPlo2HEUOfZRPnOAjuV0Ta2T0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8174793e243b427a6caf9384ec13a957"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"b586f8fe-35cf-4d3f-a5bb-0ddcf6e62f43","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.0051472} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88d36514-6994-47a1-803d-7458c95a2e36","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.0054877} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa78e8146-a7a8-4581-827b-f8aee99353e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:31.177539349Z"}]},"request_id":"f3f86fe4-1120-4f87-ada4-afda54d40244","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.0064063} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"679480e0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8174793e243b427a6caf9384ec13a957"},"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":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a78e8146-a7a8-4581-827b-f8aee99353e3? 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":"8174793e243b427a6caf9384ec13a957"} device-1 | {"level":"info","message":"GET /devices/a78e8146-a7a8-4581-827b-f8aee99353e3? 200 19ms","method":"GET","requestID":"8174793e243b427a6caf9384ec13a957","responseTime":19,"status":200,"url":"/devices/a78e8146-a7a8-4581-827b-f8aee99353e3?"} 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/84140204-2276-4d2b-bddd-e4bbe3647c04'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"679480e0-2a5f-11ef-8ed1-011028b23f76","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"84140204-2276-4d2b-bddd-e4bbe3647c04","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"84140204-2276-4d2b-bddd-e4bbe3647c04","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/84140204-2276-4d2b-bddd-e4bbe3647c04' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"84140204-2276-4d2b-bddd-e4bbe3647c04","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"f41a963f22a5354dcc614e02a742738b","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/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"f41a963f22a5354dcc614e02a742738b","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"f41a963f22a5354dcc614e02a742738b"} device-1 | {"data":{"peerconnection":"84140204-2276-4d2b-bddd-e4bbe3647c04","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"84140204-2276-4d2b-bddd-e4bbe3647c04","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"84140204-2276-4d2b-bddd-e4bbe3647c04","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":"630379ead125d570b13b466b62cb7032","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/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F84140204-2276-4d2b-bddd-e4bbe3647c04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8bcf134-a8b3-48db-89ca-fb3bbc8796b4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.128654} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.642743,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04","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":"67a9dda0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04 200 11ms","method":"GET","requestID":"67a9dda0-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"630379ead125d570b13b466b62cb7032","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"630379ead125d570b13b466b62cb7032"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ce04a3880cfdf38b0c9d5990cf87558","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.218628,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"4ce04a3880cfdf38b0c9d5990cf87558"},"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/0a12e27d-7254-4bd1-85d8-b604172b383f"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0a12e27d-7254-4bd1-85d8-b604172b383f HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ce04a3880cfdf38b0c9d5990cf87558"} experiment-1 | {"level":"info","message":"GET /experiments/0a12e27d-7254-4bd1-85d8-b604172b383f 200 17ms","method":"GET","requestID":"4ce04a3880cfdf38b0c9d5990cf87558","responseTime":17,"status":200,"url":"/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b44c2bbced83f97fbc9456a51786101","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.443696,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"2b44c2bbced83f97fbc9456a51786101"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.028347,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"67bcc960-2a5f-11ef-8ed1-011028b23f76"},"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/84140204-2276-4d2b-bddd-e4bbe3647c04' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"84140204-2276-4d2b-bddd-e4bbe3647c04","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":"7034ecbb6fd5f3fb5bd30163347f9189","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F84140204-2276-4d2b-bddd-e4bbe3647c04': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F84140204-2276-4d2b-bddd-e4bbe3647c04","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"aa3c079f-daba-4b1f-8a42-3231711d4b8d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.2733877} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d9f75a5-ac03-4794-8a14-024c4d925060","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.2741015} 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/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9956e1c7188c780e987cbb5483f5a340","responseTime":2,"status":200,"url":"/auth"} 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":"67bcc960-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} 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/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a78e8146-a7a8-4581-827b-f8aee99353e3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"84140204-2276-4d2b-bddd-e4bbe3647c04","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/84140204-2276-4d2b-bddd-e4bbe3647c04 204 52ms","method":"DELETE","requestID":"67bcc960-2a5f-11ef-8ed1-011028b23f76","responseTime":52,"status":204,"url":"/peerconnections/84140204-2276-4d2b-bddd-e4bbe3647c04"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a12e27d-7254-4bd1-85d8-b604172b383f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a12e27d-7254-4bd1-85d8-b604172b383f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"d6f8a3fd-830d-431a-b8c0-4da38f0db4b4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.3417697} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ef917d3-520c-4c79-9776-1bfc3ff05ef2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.3420515} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b44c2bbced83f97fbc9456a51786101"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0a12e27d-7254-4bd1-85d8-b604172b383f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b44c2bbced83f97fbc9456a51786101"} experiment-1 | {"level":"info","message":"DELETE /experiments/0a12e27d-7254-4bd1-85d8-b604172b383f 204 179ms","method":"DELETE","requestID":"2b44c2bbced83f97fbc9456a51786101","responseTime":179,"status":204,"url":"/experiments/0a12e27d-7254-4bd1-85d8-b604172b383f"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"0.701","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"869cc542cdd9fb4208c5eea753199bc2"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"0.714","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8ed7b84f8791db145bd561ceae72b0f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","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/a78e8146-a7a8-4581-827b-f8aee99353e3' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"7034ecbb6fd5f3fb5bd30163347f9189","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"7034ecbb6fd5f3fb5bd30163347f9189"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b0989b24d3aa533a08847064756793e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"9956e1c7188c780e987cbb5483f5a340","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"9956e1c7188c780e987cbb5483f5a340"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a6a2dcc4-5bc0-4cd9-93de-345b86d06dd2' closed"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.877258,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b0989b24d3aa533a08847064756793e"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2189eab1-094a-4e6d-9527-5bb6e3235fca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"81bc1a69-e95f-443b-8c62-1c962434a410","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.4498928} 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":"2b0989b24d3aa533a08847064756793e"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"879dae40-f0ae-4943-a1fb-08b996a74011","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.4579551} 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":"2b0989b24d3aa533a08847064756793e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2189eab1-094a-4e6d-9527-5bb6e3235fca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"9eb32f60-0bb5-489c-88fa-24d2f34b8516","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.471075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28974d43-f467-4cc1-ab10-66d681b06a32","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.4712794} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b0989b24d3aa533a08847064756793e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2189eab1-094a-4e6d-9527-5bb6e3235fca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2189eab1-094a-4e6d-9527-5bb6e3235fca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.471059094Z"}]},"request_id":"159bd327-2b9f-49e8-982b-b3b021caa53c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.4774342} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b0989b24d3aa533a08847064756793e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b0989b24d3aa533a08847064756793e"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"2b0989b24d3aa533a08847064756793e","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54c6e15fb9193289e75808d95da24174","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.842791,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"54c6e15fb9193289e75808d95da24174"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75952ba2-a7c1-4d5d-bab2-6d34864507a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8d9c77cd-0392-4177-8668-b5b2ac3971d4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.5056713} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54c6e15fb9193289e75808d95da24174"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e4762d2-5266-43df-a622-680e35c07465","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.5117838} 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":"54c6e15fb9193289e75808d95da24174"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75952ba2-a7c1-4d5d-bab2-6d34864507a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"c7dedc3d-262a-4ba5-a9b3-5e44b7fe7191","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.5244687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f174980f-2b3f-4042-ab41-5c1fa3cbfeaf","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.52465} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54c6e15fb9193289e75808d95da24174"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75952ba2-a7c1-4d5d-bab2-6d34864507a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75952ba2-a7c1-4d5d-bab2-6d34864507a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.524456117Z"}]},"request_id":"8a8409f2-8a61-484c-be69-550c23b3961c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.529227} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54c6e15fb9193289e75808d95da24174"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54c6e15fb9193289e75808d95da24174"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"54c6e15fb9193289e75808d95da24174","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"179bbcca84d5055176352a48de4a7236","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.678719,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"179bbcca84d5055176352a48de4a7236"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6011a394-8f7f-450d-9105-a9e646c5f5f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"def2125b-f549-4229-8499-f12bbc7569dd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.5618649} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"179bbcca84d5055176352a48de4a7236"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"741434b5-331d-429a-a1d9-3037e1c0c290","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.5665917} 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":"179bbcca84d5055176352a48de4a7236"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6011a394-8f7f-450d-9105-a9e646c5f5f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"a5f9d8d2-b123-40f8-8c10-8cdd72bd4ce6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.5780637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b4b4e92-ddbc-4aef-9889-43f43875602f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.578188} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"179bbcca84d5055176352a48de4a7236"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6011a394-8f7f-450d-9105-a9e646c5f5f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6011a394-8f7f-450d-9105-a9e646c5f5f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.578051773Z"}]},"request_id":"804ecd02-24f3-4db5-b4ed-6daaf66e9186","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.582084} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"179bbcca84d5055176352a48de4a7236"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"179bbcca84d5055176352a48de4a7236"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"179bbcca84d5055176352a48de4a7236","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7b9b00ed2547f9ab28cc0fd45224efc3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.703452,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"7b9b00ed2547f9ab28cc0fd45224efc3"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F380037f7-c945-47c6-94ae-c39b84bae2b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"41c12008-95da-4e85-9521-0f8032c9b0d7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.608866} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b9b00ed2547f9ab28cc0fd45224efc3"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b297e1f-eddb-413e-b86c-35954500617a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.6134582} 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":"7b9b00ed2547f9ab28cc0fd45224efc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F380037f7-c945-47c6-94ae-c39b84bae2b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"792f8a5a-55a5-4c44-9882-9e389930d02c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.6248958} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1bebb86-0231-4753-b4b2-c707113f5a1d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.6250904} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b9b00ed2547f9ab28cc0fd45224efc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F380037f7-c945-47c6-94ae-c39b84bae2b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F380037f7-c945-47c6-94ae-c39b84bae2b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.624880032Z"}]},"request_id":"7c9c3118-db0f-49a8-a0ca-b1c2a56a1fcc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.6315472} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b9b00ed2547f9ab28cc0fd45224efc3"},"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 43ms","method":"POST","requestID":"7b9b00ed2547f9ab28cc0fd45224efc3","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b9b00ed2547f9ab28cc0fd45224efc3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b14f461f6e0e5addd3239a1b2851d9dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.12408,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"b14f461f6e0e5addd3239a1b2851d9dd"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5cc358de-6d2a-4986-a680-a7590609f3c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b95c6e5f-2362-4615-b2e1-55ae2c26c41c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.667182} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b14f461f6e0e5addd3239a1b2851d9dd"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3fa32f0d-2966-4009-852c-7493bba6aae6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.6740477} 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":"b14f461f6e0e5addd3239a1b2851d9dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5cc358de-6d2a-4986-a680-a7590609f3c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"f576d69e-9d5a-4a3b-adbc-b5e2d892aeca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.6891055} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d63ff58-1acc-4fe6-878b-3d0fb2d7e33c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.6893096} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b14f461f6e0e5addd3239a1b2851d9dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5cc358de-6d2a-4986-a680-a7590609f3c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5cc358de-6d2a-4986-a680-a7590609f3c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.689081871Z"}]},"request_id":"70cfbaad-4e59-49da-af14-e5729201b5bd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.6975188} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b14f461f6e0e5addd3239a1b2851d9dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b14f461f6e0e5addd3239a1b2851d9dd"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"b14f461f6e0e5addd3239a1b2851d9dd","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4102a5cff0ac3046b715315bb2aa5b3e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.697419,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"4102a5cff0ac3046b715315bb2aa5b3e"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb36e59d-773f-49dd-9d33-d68be7ae6f56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c9dc63de-a6e9-4c77-91ec-1654818ce2af","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.735904} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4102a5cff0ac3046b715315bb2aa5b3e"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f77cf4a6-8569-4111-876c-2cdd3a2c539c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.7444208} 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":"4102a5cff0ac3046b715315bb2aa5b3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb36e59d-773f-49dd-9d33-d68be7ae6f56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0fbcc56b-9c17-4266-b20f-90c49c9d69b5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.759266} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"598bad68-16d6-471b-99e8-d273d40ac2c2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.759729} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4102a5cff0ac3046b715315bb2aa5b3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb36e59d-773f-49dd-9d33-d68be7ae6f56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb36e59d-773f-49dd-9d33-d68be7ae6f56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.759254072Z"}]},"request_id":"fa325955-5f47-4548-ba54-eaff3267f3c6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.7671132} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4102a5cff0ac3046b715315bb2aa5b3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4102a5cff0ac3046b715315bb2aa5b3e"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"4102a5cff0ac3046b715315bb2aa5b3e","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1c839655e74e5b9226da9ce815e41974","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.305401,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"1c839655e74e5b9226da9ce815e41974"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b8f5636-0811-4706-8def-0ce7b86fd148","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c824944c-539d-4f5c-bf72-335a8d97d336","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.8114831} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c839655e74e5b9226da9ce815e41974"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c169c6d7-4140-4fb2-93af-47e6b5dfeaa8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.818768} 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":"1c839655e74e5b9226da9ce815e41974"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b8f5636-0811-4706-8def-0ce7b86fd148","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"78c59a3e-2c2e-44a3-b715-3bda3bed867a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.8339157} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31262b4e-b329-4a94-b0e8-c6d2a16238bb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.8340597} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c839655e74e5b9226da9ce815e41974"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b8f5636-0811-4706-8def-0ce7b86fd148","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b8f5636-0811-4706-8def-0ce7b86fd148","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.833890211Z"}]},"request_id":"8c0d529e-bcb4-4178-bd84-2c063448c785","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.8419821} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c839655e74e5b9226da9ce815e41974"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c839655e74e5b9226da9ce815e41974"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"1c839655e74e5b9226da9ce815e41974","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6c3d1b823736b030d9f9986313cdcb75","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.824381,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"6c3d1b823736b030d9f9986313cdcb75"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d62702b-1ab1-41ff-a25b-46885081362a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b907b953-91bb-4757-ba99-0b68a9f74cb1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.8772075} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c3d1b823736b030d9f9986313cdcb75"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b189bdcb-e838-423d-869a-997b6c7bf4c4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.883989} 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":"6c3d1b823736b030d9f9986313cdcb75"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d62702b-1ab1-41ff-a25b-46885081362a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"83c5991b-9572-4407-bc47-112113bf2fcd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.8958085} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47b9f6f0-ed74-442b-a2f5-a61de98616a7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.8959367} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c3d1b823736b030d9f9986313cdcb75"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d62702b-1ab1-41ff-a25b-46885081362a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d62702b-1ab1-41ff-a25b-46885081362a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.895783229Z"}]},"request_id":"2080f162-153d-4634-b74e-fdeb5ba8bd18","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.9023356} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c3d1b823736b030d9f9986313cdcb75"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"6c3d1b823736b030d9f9986313cdcb75","responseTime":51,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c3d1b823736b030d9f9986313cdcb75"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a6ad0d0ec23c5fbde9a3ef0c4762562d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.128261,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"a6ad0d0ec23c5fbde9a3ef0c4762562d"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db99a90-55fd-4b5f-ad26-5ebde27a3955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"04f6d2a3-392b-4473-81d7-6e0c0f163503","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.9424057} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6ad0d0ec23c5fbde9a3ef0c4762562d"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3db7213-6cc6-46e9-88e8-c56174864f18","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.9503975} 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":"a6ad0d0ec23c5fbde9a3ef0c4762562d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db99a90-55fd-4b5f-ad26-5ebde27a3955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"7b1f19ed-9d7e-4830-9db3-4811801eeb80","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.9656146} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4ef9073-291b-47e6-8723-271246ec0b76","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.9664083} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6ad0d0ec23c5fbde9a3ef0c4762562d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db99a90-55fd-4b5f-ad26-5ebde27a3955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db99a90-55fd-4b5f-ad26-5ebde27a3955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:32.965591624Z"}]},"request_id":"735a8f87-21a0-472e-9d89-0af232e1b230","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377472.9728916} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6ad0d0ec23c5fbde9a3ef0c4762562d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6ad0d0ec23c5fbde9a3ef0c4762562d"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"a6ad0d0ec23c5fbde9a3ef0c4762562d","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f962f4760ff27ec25ac613a159dc72f7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.215686,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377472,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Mn0.fraYC6hQWMlBLi8C6aVY7KEPlFBblUjwOCBQ7KN6aVA"} 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":"f962f4760ff27ec25ac613a159dc72f7"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F306821b0-bd7e-447f-a74d-374b2da30678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"61dbc10c-3fdf-40fa-9b26-64f0fc311d82","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.0096207} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f962f4760ff27ec25ac613a159dc72f7"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ecc37c9-0003-4a2b-ab6d-df67f0610f1f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.017587} 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":"f962f4760ff27ec25ac613a159dc72f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F306821b0-bd7e-447f-a74d-374b2da30678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"3b15aa9e-bd68-4c16-9ddf-8c7b119baa30","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.0328388} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6435bff-8d97-410f-8103-e41b2a593693","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.0333436} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f962f4760ff27ec25ac613a159dc72f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F306821b0-bd7e-447f-a74d-374b2da30678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F306821b0-bd7e-447f-a74d-374b2da30678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.032802925Z"}]},"request_id":"634e650b-4379-41ca-9eab-0691f9e5c696","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.0401702} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f962f4760ff27ec25ac613a159dc72f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f962f4760ff27ec25ac613a159dc72f7"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"f962f4760ff27ec25ac613a159dc72f7","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22c0eb8e484afadf4c0e86aec2373cfb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.111074,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"22c0eb8e484afadf4c0e86aec2373cfb"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f6fe1ae9-2c69-4655-9148-840a89894d7b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.0752888} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22c0eb8e484afadf4c0e86aec2373cfb"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5dfce636-7f78-4f2e-a136-68ffdda2cac5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.0832403} 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":"22c0eb8e484afadf4c0e86aec2373cfb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"fdc38357-06e0-42f3-bbe0-7496249c1a5a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.1002486} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ccb455bf-7cff-42b5-b1e3-4369a72eadde","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.1005194} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22c0eb8e484afadf4c0e86aec2373cfb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.100228857Z"}]},"request_id":"d47b29ab-2a90-4235-acee-99e3048a3ec6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.1065054} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22c0eb8e484afadf4c0e86aec2373cfb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22c0eb8e484afadf4c0e86aec2373cfb"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"22c0eb8e484afadf4c0e86aec2373cfb","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3694ac2a188c8a1e93a1c97e4af55d93","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.796327,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"3694ac2a188c8a1e93a1c97e4af55d93"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"faddfe82-5e1a-4a23-b9da-5b0d1ed4a19f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.1482894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3694ac2a188c8a1e93a1c97e4af55d93"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa65f490-a055-44e2-80db-c0dc1e8dbc19","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.1540172} 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":"3694ac2a188c8a1e93a1c97e4af55d93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0e6a0412-ee34-4082-a179-462cd8d74645","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.164926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1db5e870-7bfd-4230-bdac-712a43181715","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.165174} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3694ac2a188c8a1e93a1c97e4af55d93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.164900282Z"}]},"request_id":"dfc40209-35b4-496c-9bd7-58e8a3571f0b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.1701338} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3694ac2a188c8a1e93a1c97e4af55d93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3694ac2a188c8a1e93a1c97e4af55d93"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"3694ac2a188c8a1e93a1c97e4af55d93","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3dfeda3b076c5ab614d56803888b8fda","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.937715,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"3dfeda3b076c5ab614d56803888b8fda"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"58445cdf-39e2-4f85-a3d2-bc63ce72e17b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.2006981} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3dfeda3b076c5ab614d56803888b8fda"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3ffa69a-df4c-48fc-b65c-e2f5cf3be252","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.2063403} 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":"3dfeda3b076c5ab614d56803888b8fda"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"1f651776-e2a0-4b03-8314-b565c1645162","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.2234578} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c83a76ca-546d-478b-93c6-dd19304ee798","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.2237158} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3dfeda3b076c5ab614d56803888b8fda"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.223432410Z"}]},"request_id":"166a5053-58bc-47a2-996a-9e56fa2ed75e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.2283266} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3dfeda3b076c5ab614d56803888b8fda"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3dfeda3b076c5ab614d56803888b8fda"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"3dfeda3b076c5ab614d56803888b8fda","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"477ff4a13f75c33921f3928ba7576bcd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.10222,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f38a0d61-8b9a-48d2-8293-963740b38975","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f38a0d61-8b9a-48d2-8293-963740b38975","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"477ff4a13f75c33921f3928ba7576bcd"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.100228857Z"}]},"request_id":"508d5b09-11bb-4972-892f-e8b84c6b1d73","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.2572129} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"477ff4a13f75c33921f3928ba7576bcd"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"817df4f8-2999-4654-a30f-61e4537e4e73","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.2642107} 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":"477ff4a13f75c33921f3928ba7576bcd"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.100228857Z"}]},"request_id":"d7a4812e-fe1c-4c4a-9aca-ce4353b866a1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.2774434} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"477ff4a13f75c33921f3928ba7576bcd"},"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":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f38a0d61-8b9a-48d2-8293-963740b38975? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"477ff4a13f75c33921f3928ba7576bcd"} device-1 | {"level":"info","message":"PATCH /devices/f38a0d61-8b9a-48d2-8293-963740b38975? 200 37ms","method":"PATCH","requestID":"477ff4a13f75c33921f3928ba7576bcd","responseTime":37,"status":200,"url":"/devices/f38a0d61-8b9a-48d2-8293-963740b38975?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8509c37923212370febe944c83f054cf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.364209,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f308761e-5da5-4503-9265-0775d6c5e5a9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f308761e-5da5-4503-9265-0775d6c5e5a9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"8509c37923212370febe944c83f054cf"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.164900282Z"}]},"request_id":"8785f14d-c441-4a5e-b787-3edbb055f60d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.3061535} 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":"8509c37923212370febe944c83f054cf"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a985538-0b1b-447e-8964-687132772358","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.316922} 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":"8509c37923212370febe944c83f054cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.164900282Z"}]},"request_id":"23f6636e-79d4-4a63-a7e0-151b1a382528","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.329822} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8509c37923212370febe944c83f054cf"},"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":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f308761e-5da5-4503-9265-0775d6c5e5a9? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8509c37923212370febe944c83f054cf"} device-1 | {"level":"info","message":"PATCH /devices/f308761e-5da5-4503-9265-0775d6c5e5a9? 200 44ms","method":"PATCH","requestID":"8509c37923212370febe944c83f054cf","responseTime":44,"status":200,"url":"/devices/f308761e-5da5-4503-9265-0775d6c5e5a9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"15980a34fa51482c5759117c6ec0662c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195162,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f81983a2-6ece-44ad-be2b-2de75202b19a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f81983a2-6ece-44ad-be2b-2de75202b19a","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"15980a34fa51482c5759117c6ec0662c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.223432410Z"}]},"request_id":"ef9c7557-61ea-4a36-9000-14b9bb7d5e9e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.3593106} 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":"15980a34fa51482c5759117c6ec0662c"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"abe40a9f-60bf-4dfa-bc54-ff711743b2ea","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.368027} 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":"15980a34fa51482c5759117c6ec0662c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.223432410Z"}]},"request_id":"d52c5c18-68a8-4bf0-b694-c5f6c7743d88","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.3790524} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15980a34fa51482c5759117c6ec0662c"},"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/f81983a2-6ece-44ad-be2b-2de75202b19a? 200 40ms","method":"PATCH","requestID":"15980a34fa51482c5759117c6ec0662c","responseTime":40,"status":200,"url":"/devices/f81983a2-6ece-44ad-be2b-2de75202b19a?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f81983a2-6ece-44ad-be2b-2de75202b19a? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15980a34fa51482c5759117c6ec0662c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a7d05e090fdd3eaa2aa5370078f591c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.333014,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f38a0d61-8b9a-48d2-8293-963740b38975","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f38a0d61-8b9a-48d2-8293-963740b38975","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"8a7d05e090fdd3eaa2aa5370078f591c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff38a0d61-8b9a-48d2-8293-963740b38975","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.100228857Z"}]},"request_id":"3aa79669-9e20-42b4-a572-209f687fea8a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.4045413} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a7d05e090fdd3eaa2aa5370078f591c"},"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:44380","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.771881,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.834614,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2189eab1-094a-4e6d-9527-5bb6e3235fca","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/2189eab1-094a-4e6d-9527-5bb6e3235fca","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"8a7d05e090fdd3eaa2aa5370078f591c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75952ba2-a7c1-4d5d-bab2-6d34864507a3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/75952ba2-a7c1-4d5d-bab2-6d34864507a3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"8a7d05e090fdd3eaa2aa5370078f591c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:45332","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45332","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.678067,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6011a394-8f7f-450d-9105-a9e646c5f5f3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/6011a394-8f7f-450d-9105-a9e646c5f5f3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"8a7d05e090fdd3eaa2aa5370078f591c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.626146,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f308761e-5da5-4503-9265-0775d6c5e5a9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f308761e-5da5-4503-9265-0775d6c5e5a9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"8a7d05e090fdd3eaa2aa5370078f591c"},"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":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f38a0d61-8b9a-48d2-8293-963740b38975? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a7d05e090fdd3eaa2aa5370078f591c"} device-1 | {"level":"info","message":"GET /devices/f38a0d61-8b9a-48d2-8293-963740b38975? 200 45ms","method":"GET","requestID":"8a7d05e090fdd3eaa2aa5370078f591c","responseTime":45,"status":200,"url":"/devices/f38a0d61-8b9a-48d2-8293-963740b38975?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b93f9764c6e7491ef93b5f1e17b19a7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.313902,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f308761e-5da5-4503-9265-0775d6c5e5a9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f308761e-5da5-4503-9265-0775d6c5e5a9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"0b93f9764c6e7491ef93b5f1e17b19a7"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff308761e-5da5-4503-9265-0775d6c5e5a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.164900282Z"}]},"request_id":"e4698c55-3419-4c1c-9ebb-a1b0fee35ac0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.4588592} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b93f9764c6e7491ef93b5f1e17b19a7"},"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:44380","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093624,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213859,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45332","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45332","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9769,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/380037f7-c945-47c6-94ae-c39b84bae2b2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/380037f7-c945-47c6-94ae-c39b84bae2b2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"0b93f9764c6e7491ef93b5f1e17b19a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5cc358de-6d2a-4986-a680-a7590609f3c3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5cc358de-6d2a-4986-a680-a7590609f3c3","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"0b93f9764c6e7491ef93b5f1e17b19a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb36e59d-773f-49dd-9d33-d68be7ae6f56","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bb36e59d-773f-49dd-9d33-d68be7ae6f56","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"0b93f9764c6e7491ef93b5f1e17b19a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.576611,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b8f5636-0811-4706-8def-0ce7b86fd148","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3b8f5636-0811-4706-8def-0ce7b86fd148","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b93f9764c6e7491ef93b5f1e17b19a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.159071,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45352","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f81983a2-6ece-44ad-be2b-2de75202b19a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f81983a2-6ece-44ad-be2b-2de75202b19a","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"0b93f9764c6e7491ef93b5f1e17b19a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:45352","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254773,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f38a0d61-8b9a-48d2-8293-963740b38975","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f38a0d61-8b9a-48d2-8293-963740b38975","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b93f9764c6e7491ef93b5f1e17b19a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f308761e-5da5-4503-9265-0775d6c5e5a9? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b93f9764c6e7491ef93b5f1e17b19a7"} device-1 | {"level":"info","message":"GET /devices/f308761e-5da5-4503-9265-0775d6c5e5a9? 200 57ms","method":"GET","requestID":"0b93f9764c6e7491ef93b5f1e17b19a7","responseTime":57,"status":200,"url":"/devices/f308761e-5da5-4503-9265-0775d6c5e5a9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"354e962fb58c93e0003138ca5c8d716d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.257267,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f81983a2-6ece-44ad-be2b-2de75202b19a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f81983a2-6ece-44ad-be2b-2de75202b19a","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"354e962fb58c93e0003138ca5c8d716d"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff81983a2-6ece-44ad-be2b-2de75202b19a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.223432410Z"}]},"request_id":"e5289a84-235b-46e2-94c6-54ebcf552f3d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.5232778} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"354e962fb58c93e0003138ca5c8d716d"},"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:44380","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.608151,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837931,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45332","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45332","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.451566,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d62702b-1ab1-41ff-a25b-46885081362a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5d62702b-1ab1-41ff-a25b-46885081362a","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"354e962fb58c93e0003138ca5c8d716d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db99a90-55fd-4b5f-ad26-5ebde27a3955","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/4db99a90-55fd-4b5f-ad26-5ebde27a3955","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"354e962fb58c93e0003138ca5c8d716d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/306821b0-bd7e-447f-a74d-374b2da30678","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/306821b0-bd7e-447f-a74d-374b2da30678","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"354e962fb58c93e0003138ca5c8d716d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:45342","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.634942,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f38a0d61-8b9a-48d2-8293-963740b38975","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f38a0d61-8b9a-48d2-8293-963740b38975","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"354e962fb58c93e0003138ca5c8d716d"},"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":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f81983a2-6ece-44ad-be2b-2de75202b19a? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"354e962fb58c93e0003138ca5c8d716d"} device-1 | {"level":"info","message":"GET /devices/f81983a2-6ece-44ad-be2b-2de75202b19a? 200 38ms","method":"GET","requestID":"354e962fb58c93e0003138ca5c8d716d","responseTime":38,"status":200,"url":"/devices/f81983a2-6ece-44ad-be2b-2de75202b19a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ad9cccce91e03e8d64f8738ef1f7a975","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.389512,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"ad9cccce91e03e8d64f8738ef1f7a975"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86f69dc7-7b67-4372-8cd2-51a162b8f693","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"550ec222-c3e8-4d93-8967-2dd677b07255","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.5872996} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad9cccce91e03e8d64f8738ef1f7a975"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ea46111-9972-4b36-ab9e-02639c92f3de","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.5949235} 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":"ad9cccce91e03e8d64f8738ef1f7a975"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86f69dc7-7b67-4372-8cd2-51a162b8f693","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"00d8de9c-c98d-4f18-b897-25ec1191c24f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.6088405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e75539c-3462-4e2b-87d8-7e2e39ce0334","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.6091864} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad9cccce91e03e8d64f8738ef1f7a975"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86f69dc7-7b67-4372-8cd2-51a162b8f693","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86f69dc7-7b67-4372-8cd2-51a162b8f693","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.608814788Z"}]},"request_id":"4070850d-019f-41e0-aa05-129c0e7f944f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.6157556} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad9cccce91e03e8d64f8738ef1f7a975"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad9cccce91e03e8d64f8738ef1f7a975"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"ad9cccce91e03e8d64f8738ef1f7a975","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fb73ad437b88e6eaffd25e2d759f606a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.192407,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"fb73ad437b88e6eaffd25e2d759f606a"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dd7f4f82-15a5-45a8-9126-50ff0c83c9c4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.6516309} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb73ad437b88e6eaffd25e2d759f606a"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ed63611-f403-4a3c-a9e0-064ea7e6f8ea","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.6590674} 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":"fb73ad437b88e6eaffd25e2d759f606a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"67269040-2e74-43d7-ac4b-6e1342ac3686","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.6707754} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32ca908a-dd66-4772-8f26-b77ba8e0b471","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.6710544} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb73ad437b88e6eaffd25e2d759f606a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.670749828Z"}]},"request_id":"cde197a3-cb1c-4501-9f2c-6cb0345b041d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.6775942} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb73ad437b88e6eaffd25e2d759f606a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb73ad437b88e6eaffd25e2d759f606a"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"fb73ad437b88e6eaffd25e2d759f606a","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8a05c163a7d38f3825cda40e1e1fa06b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.260905,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377473,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3M30.S0cncjdfcOr--PjdlU9r7Sg_nxa01_ofYjtpexfVfgg"} 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":"8a05c163a7d38f3825cda40e1e1fa06b"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0806405f-91ca-47ff-98e9-ed524d6b033b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.7148652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a05c163a7d38f3825cda40e1e1fa06b"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3656632-b08f-4bb8-bc96-988772135e9d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.721657} 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":"8a05c163a7d38f3825cda40e1e1fa06b"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27dedf90-6f41-4404-97a9-fd986a0a1445","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.7350683} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"57263d35-91ef-4dfe-a9ed-465641002c80","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.7356846} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a05c163a7d38f3825cda40e1e1fa06b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.735663104Z"}]},"request_id":"ee934349-4249-4fde-92ca-43ad1d31d07c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377473.7441404} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a05c163a7d38f3825cda40e1e1fa06b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a05c163a7d38f3825cda40e1e1fa06b"} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"8a05c163a7d38f3825cda40e1e1fa06b","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"62b5b54c0bf03d12aca3a36c52b50a1f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/995a58b0-d1c7-42ce-9576-28488acdb474/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":"62b5b54c0bf03d12aca3a36c52b50a1f"} device-1 | {"level":"info","message":"OPTIONS /devices/995a58b0-d1c7-42ce-9576-28488acdb474/websocket 200 2ms","method":"OPTIONS","requestID":"62b5b54c0bf03d12aca3a36c52b50a1f","responseTime":2,"status":200,"url":"/devices/995a58b0-d1c7-42ce-9576-28488acdb474/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7a128a256a1eba6b993b71308c1c29f7","responseTime":2,"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":"776663563d1ab69d19d1c1028d55c9f0","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/86f69dc7-7b67-4372-8cd2-51a162b8f693/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":"776663563d1ab69d19d1c1028d55c9f0"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:35Z"} device-1 | {"level":"info","message":"OPTIONS /devices/86f69dc7-7b67-4372-8cd2-51a162b8f693/websocket 200 1ms","method":"OPTIONS","requestID":"776663563d1ab69d19d1c1028d55c9f0","responseTime":1,"status":200,"url":"/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693/websocket"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841912,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} 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":"7a128a256a1eba6b993b71308c1c29f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"60d968e2bdd32f05ef720a36fb5c6dfb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.339981,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} 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":"60d968e2bdd32f05ef720a36fb5c6dfb"},"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":"14/Jun/2024:15:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/995a58b0-d1c7-42ce-9576-28488acdb474/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.061","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7a128a256a1eba6b993b71308c1c29f7"} device-1 | {"level":"info","message":"POST /devices/995a58b0-d1c7-42ce-9576-28488acdb474/websocket 200 56ms","method":"POST","requestID":"7a128a256a1eba6b993b71308c1c29f7","responseTime":56,"status":200,"url":"/devices/995a58b0-d1c7-42ce-9576-28488acdb474/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/86f69dc7-7b67-4372-8cd2-51a162b8f693/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.066","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"60d968e2bdd32f05ef720a36fb5c6dfb"} device-1 | {"level":"info","message":"POST /devices/86f69dc7-7b67-4372-8cd2-51a162b8f693/websocket 200 59ms","method":"POST","requestID":"60d968e2bdd32f05ef720a36fb5c6dfb","responseTime":59,"status":200,"url":"/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4d1e319ab845827561c79fcf40f1339b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.004589,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d1e319ab845827561c79fcf40f1339b"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.735663104Z"}]},"request_id":"285b1bec-7036-494e-8fc2-86cfee8b88d0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377475.898895} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d1e319ab845827561c79fcf40f1339b"},"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":"14/Jun/2024:15:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/995a58b0-d1c7-42ce-9576-28488acdb474? 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":"4d1e319ab845827561c79fcf40f1339b"} device-1 | {"level":"info","message":"GET /devices/995a58b0-d1c7-42ce-9576-28488acdb474? 200 19ms","method":"GET","requestID":"4d1e319ab845827561c79fcf40f1339b","responseTime":19,"status":200,"url":"/devices/995a58b0-d1c7-42ce-9576-28488acdb474?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"71ebb8fdf744778220cf454d69fbd6da","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:44380","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.236238,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} 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":"71ebb8fdf744778220cf454d69fbd6da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"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:44380","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650256,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69f4b800-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.870463,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69f52d30-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.670749828Z"}]},"request_id":"bdd0ce42-1666-44e8-90fa-c26470781310","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377475.9808476} 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":"69f4b800-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.735663104Z"}]},"request_id":"85d1e8d4-eee1-4465-b698-bf30ee60c026","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377475.9820478} 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":"69f52d30-2a5f-11ef-8ed1-011028b23f76"},"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/995a58b0-d1c7-42ce-9576-28488acdb474? 200 21ms","method":"GET","requestID":"69f52d30-2a5f-11ef-8ed1-011028b23f76","responseTime":21,"status":200,"url":"/devices/995a58b0-d1c7-42ce-9576-28488acdb474?"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73189,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69f4b800-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef? 200 30ms","method":"GET","requestID":"69f4b800-2a5f-11ef-8ed1-011028b23f76","responseTime":30,"status":200,"url":"/devices/f9fb438d-cfdb-4ed3-8eb0-39e18f2c82ef?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"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/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140731,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} 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":"6a00ed00-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.818545,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} 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":"6a013b20-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86f69dc7-7b67-4372-8cd2-51a162b8f693","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86f69dc7-7b67-4372-8cd2-51a162b8f693","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.608814788Z"}]},"request_id":"172eea47-8edf-4085-b706-282afe3c1d95","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.0647454} 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":"6a00ed00-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.735663104Z"}]},"request_id":"104689d3-c0a1-4521-bcb5-c21ea6884a57","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.066204} 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":"6a013b20-2a5f-11ef-8ed1-011028b23f76"},"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/86f69dc7-7b67-4372-8cd2-51a162b8f693? 200 27ms","method":"GET","requestID":"6a00ed00-2a5f-11ef-8ed1-011028b23f76","responseTime":27,"status":200,"url":"/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/995a58b0-d1c7-42ce-9576-28488acdb474? 200 26ms","method":"GET","requestID":"6a013b20-2a5f-11ef-8ed1-011028b23f76","responseTime":26,"status":200,"url":"/devices/995a58b0-d1c7-42ce-9576-28488acdb474?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a138220-71ef-4d37-909d-e86fb71a6a2a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a138220-71ef-4d37-909d-e86fb71a6a2a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"db50b296-18e5-47a3-9a92-0bbc6a46f35a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.0812047} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58b8aafb-e1dd-4851-b79c-9a2a16b2deaa","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.0819147} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71ebb8fdf744778220cf454d69fbd6da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.992598,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","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":"6a061d20-2a5f-11ef-8ed1-011028b23f76"},"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/86f69dc7-7b67-4372-8cd2-51a162b8f693/signaling 200 14ms","method":"POST","requestID":"6a061d20-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71ebb8fdf744778220cf454d69fbd6da"} experiment-1 | {"level":"info","message":"POST /experiments? 201 183ms","method":"POST","requestID":"71ebb8fdf744778220cf454d69fbd6da","responseTime":183,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fcea050349b1d8910a4caa8341fedd14","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.165319,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","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":"6a097880-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.588317,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} device-1 | {"level":"info","message":"POST /devices/995a58b0-d1c7-42ce-9576-28488acdb474/signaling 200 13ms","method":"POST","requestID":"6a097880-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/995a58b0-d1c7-42ce-9576-28488acdb474/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377476,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Attempting to create peerconnections for experiment"} 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":"fcea050349b1d8910a4caa8341fedd14"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1ca2373d-5b48-4563-b7fe-00c96fd841fb"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7a7b33f5-24f3-4c19-9f3e-6a6ef6eadf58"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4eb6c0f7-7c92-42fe-b12d-d2ad0afd3725"}]},"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/86f69dc7-7b67-4372-8cd2-51a162b8f693"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86f69dc7-7b67-4372-8cd2-51a162b8f693","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86f69dc7-7b67-4372-8cd2-51a162b8f693","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.608814788Z"}]},"request_id":"5ed19edd-9e16-4198-93fd-1e3ede997d18","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.1252487} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcea050349b1d8910a4caa8341fedd14"},"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:44380","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.242735,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86f69dc7-7b67-4372-8cd2-51a162b8f693? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcea050349b1d8910a4caa8341fedd14"} device-1 | {"level":"info","message":"GET /devices/86f69dc7-7b67-4372-8cd2-51a162b8f693? 200 23ms","method":"GET","requestID":"fcea050349b1d8910a4caa8341fedd14","responseTime":23,"status":200,"url":"/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377475,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3NX0.CDIGQBPffh9IoJqzSJymHuaqiQMKpoo5u1AXBn3qIbA"} 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":"6a0c85c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b81c4d59c870f4afef07b2e600a64ef7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"e1036976-37e8-4392-9b9e-30e3e60461d1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.1447742} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f0c84b5-1126-40a1-902e-f9cc155e2635","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.145049} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.396414,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a0c85c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377476,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI"} 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":"b81c4d59c870f4afef07b2e600a64ef7"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F995a58b0-d1c7-42ce-9576-28488acdb474","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:33.735663104Z"}]},"request_id":"c14408d1-2314-46f0-92fd-e183cc3fb2c1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.1570406} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b81c4d59c870f4afef07b2e600a64ef7"},"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/0d222afb-a7dc-445e-b03d-717919f81f5c'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 46ms","method":"POST","requestID":"6a0c85c0-2a5f-11ef-8ed1-011028b23f76","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/995a58b0-d1c7-42ce-9576-28488acdb474? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b81c4d59c870f4afef07b2e600a64ef7"} device-1 | {"level":"info","message":"GET /devices/995a58b0-d1c7-42ce-9576-28488acdb474? 200 31ms","method":"GET","requestID":"b81c4d59c870f4afef07b2e600a64ef7","responseTime":31,"status":200,"url":"/devices/995a58b0-d1c7-42ce-9576-28488acdb474?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d222afb-a7dc-445e-b03d-717919f81f5c","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":"96832040d053c67fa0826b87ad452eeb","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/86f69dc7-7b67-4372-8cd2-51a162b8f693"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"96832040d053c67fa0826b87ad452eeb","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"96832040d053c67fa0826b87ad452eeb"} device-1 | {"data":{"peerconnection":"0d222afb-a7dc-445e-b03d-717919f81f5c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0d222afb-a7dc-445e-b03d-717919f81f5c","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d222afb-a7dc-445e-b03d-717919f81f5c","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":"79bebff5f573fadc19018b2880ca2db1","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/86f69dc7-7b67-4372-8cd2-51a162b8f693"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d222afb-a7dc-445e-b03d-717919f81f5c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42f2d2c4-7948-4eb2-acff-c8ab3b0c08c7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.4014802} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.576966,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c","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":"6a35b8a0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c 200 12ms","method":"GET","requestID":"6a35b8a0-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"79bebff5f573fadc19018b2880ca2db1","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"79bebff5f573fadc19018b2880ca2db1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eca7711970466e90eced1370e3f98110","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.465241,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377476,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI"} 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":"eca7711970466e90eced1370e3f98110"},"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/4a138220-71ef-4d37-909d-e86fb71a6a2a"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eca7711970466e90eced1370e3f98110"} experiment-1 | {"level":"info","message":"GET /experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a 200 18ms","method":"GET","requestID":"eca7711970466e90eced1370e3f98110","responseTime":18,"status":200,"url":"/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0f6171e971749c75bedc2143112a045f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.188362,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377476,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI"} 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":"0f6171e971749c75bedc2143112a045f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.190378,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377476,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI"} 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":"6a482f30-2a5f-11ef-8ed1-011028b23f76"},"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/0d222afb-a7dc-445e-b03d-717919f81f5c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d222afb-a7dc-445e-b03d-717919f81f5c","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":"086bc37143b9fef9491ea74763918a10","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/86f69dc7-7b67-4372-8cd2-51a162b8f693"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c"}}},"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 3ms","method":"GET","requestID":"c6f0f14d728f33266753bb4f95ede84a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d222afb-a7dc-445e-b03d-717919f81f5c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d222afb-a7dc-445e-b03d-717919f81f5c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"4e9882cd-cce2-4dc0-a32b-5c49e559ac78","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.5452056} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd06010e-b6c6-4af7-b034-d0e299711a72","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.5458763} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"6a482f30-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"data":{"peerconnection":"0d222afb-a7dc-445e-b03d-717919f81f5c","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/0d222afb-a7dc-445e-b03d-717919f81f5c 204 52ms","method":"DELETE","requestID":"6a482f30-2a5f-11ef-8ed1-011028b23f76","responseTime":52,"status":204,"url":"/peerconnections/0d222afb-a7dc-445e-b03d-717919f81f5c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a138220-71ef-4d37-909d-e86fb71a6a2a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a138220-71ef-4d37-909d-e86fb71a6a2a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"64efae63-3528-4f0d-b638-837f7b9d3c98","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.6093845} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"115e055e-af18-4bd5-bc67-960371f31c86","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.609935} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f6171e971749c75bedc2143112a045f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f6171e971749c75bedc2143112a045f"} experiment-1 | {"level":"info","message":"DELETE /experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a 204 185ms","method":"DELETE","requestID":"0f6171e971749c75bedc2143112a045f","responseTime":185,"status":204,"url":"/experiments/4a138220-71ef-4d37-909d-e86fb71a6a2a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"086bc37143b9fef9491ea74763918a10"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2ca1b5f8a98ae6642ac67e93c211844f","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6f0f14d728f33266753bb4f95ede84a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"086bc37143b9fef9491ea74763918a10","responseTime":144,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"c6f0f14d728f33266753bb4f95ede84a","responseTime":141,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.84745,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1488","request_time":"0.854","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2ac40f45f595f0ee28583069a56bb960"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1758","request_time":"0.836","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a8b9597f8a51dfb1f425f34598838381"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377476,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI"} 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":"2ca1b5f8a98ae6642ac67e93c211844f"},"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/86f69dc7-7b67-4372-8cd2-51a162b8f693' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/995a58b0-d1c7-42ce-9576-28488acdb474' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c974d6a5-c07e-4bc1-98f9-904f3938e68f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.720771} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ca1b5f8a98ae6642ac67e93c211844f"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be8ed840-36a8-4100-85be-dd75a95e5de8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.7251952} 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":"2ca1b5f8a98ae6642ac67e93c211844f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"e9665776-44b3-45c8-a5ba-ffbfbee3d153","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.7375386} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7de21d87-4d21-4320-9db2-1440294dc656","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.737732} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ca1b5f8a98ae6642ac67e93c211844f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.737521580Z"}]},"request_id":"4183692c-1c76-404a-a770-d56df7df4ac7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.7420888} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ca1b5f8a98ae6642ac67e93c211844f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ca1b5f8a98ae6642ac67e93c211844f"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"2ca1b5f8a98ae6642ac67e93c211844f","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20c6992ce24d50cadc69a02f9ca9d4ae","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.685504,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377476,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3Nn0.uh26n2Ad5OiAuS-F2J5ghae496rt1mjuQ2wmXFYuTzI"} 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":"20c6992ce24d50cadc69a02f9ca9d4ae"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8bb8fb64-9f9e-4735-9b6e-aaa99a2ac7fd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.770245} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20c6992ce24d50cadc69a02f9ca9d4ae"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71f573d4-3a0a-4d9d-80ee-1e1cb5e34b4e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.7747393} 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":"20c6992ce24d50cadc69a02f9ca9d4ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"2abb52f4-2952-43be-a9c0-53ba039084cb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.7874227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad4f6b2e-8012-4a85-817e-41b04e63f39e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.7876751} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20c6992ce24d50cadc69a02f9ca9d4ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.787405865Z"}]},"request_id":"9ac85e18-f636-46bb-837f-cfe1dec63866","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377476.792036} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20c6992ce24d50cadc69a02f9ca9d4ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20c6992ce24d50cadc69a02f9ca9d4ae"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"20c6992ce24d50cadc69a02f9ca9d4ae","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"014ae5d1c05a36d8c5ddcef32d69d893","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fa32420d-6280-417b-924c-cc262a51835e/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":"014ae5d1c05a36d8c5ddcef32d69d893"} device-1 | {"level":"info","message":"OPTIONS /devices/fa32420d-6280-417b-924c-cc262a51835e/websocket 200 1ms","method":"OPTIONS","requestID":"014ae5d1c05a36d8c5ddcef32d69d893","responseTime":1,"status":200,"url":"/devices/fa32420d-6280-417b-924c-cc262a51835e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3f728d45fe3eae1fd140a3cc177c1ae9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.543995,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} 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":"3f728d45fe3eae1fd140a3cc177c1ae9"},"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":"1d7961aeeff7e1b462d706c4f2faa13b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a229ff96-460d-485a-8438-c9be8902304f/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":"1d7961aeeff7e1b462d706c4f2faa13b"} device-1 | {"level":"info","message":"OPTIONS /devices/a229ff96-460d-485a-8438-c9be8902304f/websocket 200 1ms","method":"OPTIONS","requestID":"1d7961aeeff7e1b462d706c4f2faa13b","responseTime":1,"status":200,"url":"/devices/a229ff96-460d-485a-8438-c9be8902304f/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fa32420d-6280-417b-924c-cc262a51835e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3f728d45fe3eae1fd140a3cc177c1ae9"} device-1 | {"level":"info","message":"POST /devices/fa32420d-6280-417b-924c-cc262a51835e/websocket 200 26ms","method":"POST","requestID":"3f728d45fe3eae1fd140a3cc177c1ae9","responseTime":26,"status":200,"url":"/devices/fa32420d-6280-417b-924c-cc262a51835e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dec3097ba576a3903473b1bc5f207500","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.4403,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dec3097ba576a3903473b1bc5f207500"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"device 'http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a229ff96-460d-485a-8438-c9be8902304f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dec3097ba576a3903473b1bc5f207500"} device-1 | {"level":"info","message":"POST /devices/a229ff96-460d-485a-8438-c9be8902304f/websocket 200 29ms","method":"POST","requestID":"dec3097ba576a3903473b1bc5f207500","responseTime":29,"status":200,"url":"/devices/a229ff96-460d-485a-8438-c9be8902304f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5589a0b6258a288c6bdefd4e5bb82d65","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.656278,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} 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":"5589a0b6258a288c6bdefd4e5bb82d65"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.737521580Z"}]},"request_id":"e05edfed-bd4a-487c-a578-89f169b0d7aa","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377478.880341} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5589a0b6258a288c6bdefd4e5bb82d65"},"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":"14/Jun/2024:15:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a229ff96-460d-485a-8438-c9be8902304f? 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":"5589a0b6258a288c6bdefd4e5bb82d65"} device-1 | {"level":"info","message":"GET /devices/a229ff96-460d-485a-8438-c9be8902304f? 200 15ms","method":"GET","requestID":"5589a0b6258a288c6bdefd4e5bb82d65","responseTime":15,"status":200,"url":"/devices/a229ff96-460d-485a-8438-c9be8902304f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e19b8d992183406923a2c8174accfd7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.239392,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} 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":"3e19b8d992183406923a2c8174accfd7"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.787405865Z"}]},"request_id":"df0ddd26-110d-42fe-8c7e-2334f859b7c8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377478.9052014} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e19b8d992183406923a2c8174accfd7"},"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":"14/Jun/2024:15:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fa32420d-6280-417b-924c-cc262a51835e? 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":"3e19b8d992183406923a2c8174accfd7"} device-1 | {"level":"info","message":"GET /devices/fa32420d-6280-417b-924c-cc262a51835e? 200 19ms","method":"GET","requestID":"3e19b8d992183406923a2c8174accfd7","responseTime":19,"status":200,"url":"/devices/fa32420d-6280-417b-924c-cc262a51835e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"985ea42c7377a2f7ce5d7b629ae063f4","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:44380","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.22688,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} 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":"985ea42c7377a2f7ce5d7b629ae063f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"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:44380","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111963,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} 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":"6bbe7b80-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899285,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bbec9a0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.737521580Z"}]},"request_id":"5c8f18f2-f901-469f-b0b3-515279b1b25c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377478.9805875} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bbe7b80-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.787405865Z"}]},"request_id":"f91a41f4-f171-4d84-85b6-0fa593ae7d1c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377478.982524} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bbec9a0-2a5f-11ef-8ed1-011028b23f76"},"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/a229ff96-460d-485a-8438-c9be8902304f? 200 22ms","method":"GET","requestID":"6bbe7b80-2a5f-11ef-8ed1-011028b23f76","responseTime":22,"status":200,"url":"/devices/a229ff96-460d-485a-8438-c9be8902304f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fa32420d-6280-417b-924c-cc262a51835e? 200 21ms","method":"GET","requestID":"6bbec9a0-2a5f-11ef-8ed1-011028b23f76","responseTime":21,"status":200,"url":"/devices/fa32420d-6280-417b-924c-cc262a51835e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"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/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608083,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bc86690-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601255,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bc8b4b0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.737521580Z"}]},"request_id":"45282158-27ec-4a24-bce4-ee2bec5e285e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.0451627} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bc86690-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.787405865Z"}]},"request_id":"34da41f1-defd-49a7-b92e-5af405babdbf","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.046437} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bc8b4b0-2a5f-11ef-8ed1-011028b23f76"},"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/a229ff96-460d-485a-8438-c9be8902304f? 200 19ms","method":"GET","requestID":"6bc86690-2a5f-11ef-8ed1-011028b23f76","responseTime":19,"status":200,"url":"/devices/a229ff96-460d-485a-8438-c9be8902304f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fa32420d-6280-417b-924c-cc262a51835e? 200 18ms","method":"GET","requestID":"6bc8b4b0-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/fa32420d-6280-417b-924c-cc262a51835e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.036988,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","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":"6bcbe900-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faca7886a-6daa-4e77-9cf9-186e3b84509d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faca7886a-6daa-4e77-9cf9-186e3b84509d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0798d3f6-5165-4fa7-8c1f-466705b1bbbc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.0628572} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c5243b4-6ae8-4cc5-b67a-1368aade8c15","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.062995} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"985ea42c7377a2f7ce5d7b629ae063f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a229ff96-460d-485a-8438-c9be8902304f/signaling 200 11ms","method":"POST","requestID":"6bcbe900-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/a229ff96-460d-485a-8438-c9be8902304f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.761082,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"985ea42c7377a2f7ce5d7b629ae063f4"} experiment-1 | {"level":"info","message":"POST /experiments? 201 157ms","method":"POST","requestID":"985ea42c7377a2f7ce5d7b629ae063f4","responseTime":157,"status":201,"url":"/experiments?"} 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":"6bce5a00-2a5f-11ef-8ed1-011028b23f76"},"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/fa32420d-6280-417b-924c-cc262a51835e/signaling 200 7ms","method":"POST","requestID":"6bce5a00-2a5f-11ef-8ed1-011028b23f76","responseTime":7,"status":200,"url":"/devices/fa32420d-6280-417b-924c-cc262a51835e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Building connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok","level":"info","message":"auth send jwt"} 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":"d1c2122e-cca6-4edf-8eb9-90adc32f49bc"},{"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":"4ee40c8c-6b3f-4ee4-a3fd-db40e168476c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2f1b6768-f477-4678-bcc0-efe981bcf09a"}]},"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/a229ff96-460d-485a-8438-c9be8902304f"},{"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/fa32420d-6280-417b-924c-cc262a51835e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45dec733c57dc1858112a6bd9c115813","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606744,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377479,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45dec733c57dc1858112a6bd9c115813"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.586137,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377478,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OH0.c2DA70PgwTk0Sg8Tkq-pD5Rcvw5eQk35QOzq2JpY0YU"} 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":"6bd02ec0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa229ff96-460d-485a-8438-c9be8902304f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.737521580Z"}]},"request_id":"ad60e749-d786-4db5-a482-6b8b19ab8e6b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.096674} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45dec733c57dc1858112a6bd9c115813"},"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":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a229ff96-460d-485a-8438-c9be8902304f? 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":"45dec733c57dc1858112a6bd9c115813"} device-1 | {"level":"info","message":"GET /devices/a229ff96-460d-485a-8438-c9be8902304f? 200 20ms","method":"GET","requestID":"45dec733c57dc1858112a6bd9c115813","responseTime":20,"status":200,"url":"/devices/a229ff96-460d-485a-8438-c9be8902304f?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3492bf3-0dc5-491f-8478-7ca89ee5ff6a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.101739} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"6d739879-5b82-45ed-b715-8780a38f133f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.1022034} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bd02ec0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d7c73e7dd0b3b553d80d7ffd7cf25ce5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.264359,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/fa32420d-6280-417b-924c-cc262a51835e","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377479,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7c73e7dd0b3b553d80d7ffd7cf25ce5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f'"} device-1 | {"level":"info","message":"postPeerconnections 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa32420d-6280-417b-924c-cc262a51835e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:36.787405865Z"}]},"request_id":"c0b060b0-4b0b-43bb-bbe3-92e4410c330f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.121521} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"6bd02ec0-2a5f-11ef-8ed1-011028b23f76","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7c73e7dd0b3b553d80d7ffd7cf25ce5"},"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":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fa32420d-6280-417b-924c-cc262a51835e? 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":"d7c73e7dd0b3b553d80d7ffd7cf25ce5"} device-1 | {"level":"info","message":"GET /devices/fa32420d-6280-417b-924c-cc262a51835e? 200 18ms","method":"GET","requestID":"d7c73e7dd0b3b553d80d7ffd7cf25ce5","responseTime":18,"status":200,"url":"/devices/fa32420d-6280-417b-924c-cc262a51835e?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","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":"2375e4b5ae42ff78c61d21ece231e073","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/a229ff96-460d-485a-8438-c9be8902304f"},{"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/fa32420d-6280-417b-924c-cc262a51835e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"2375e4b5ae42ff78c61d21ece231e073","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"2375e4b5ae42ff78c61d21ece231e073"} device-1 | {"data":{"peerconnection":"53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","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":"5ce2fe7dd3c9a832864b0e6fea91407b","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/a229ff96-460d-485a-8438-c9be8902304f"},{"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/fa32420d-6280-417b-924c-cc262a51835e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a97d359d-84a5-418e-b744-efdc109938da","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.3534346} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.357685,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","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":"6bf85030-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f 200 11ms","method":"GET","requestID":"6bf85030-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"5ce2fe7dd3c9a832864b0e6fea91407b","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ce2fe7dd3c9a832864b0e6fea91407b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"65f23f3213ec90c8c1143f6ad357ebed","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.114743,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377479,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok"} 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":"65f23f3213ec90c8c1143f6ad357ebed"},"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/aca7886a-6daa-4e77-9cf9-186e3b84509d"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65f23f3213ec90c8c1143f6ad357ebed"} experiment-1 | {"level":"info","message":"GET /experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d 200 17ms","method":"GET","requestID":"65f23f3213ec90c8c1143f6ad357ebed","responseTime":17,"status":200,"url":"/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6040610c815c1b8843ea92357b7bc65d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.270245,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377479,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok"} 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":"6040610c815c1b8843ea92357b7bc65d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.421515,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377479,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok"} 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":"6c0c7470-2a5f-11ef-8ed1-011028b23f76"},"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/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","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":"c6e674a1565011050888d0e15d2e5df5","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)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2e79e6a8e7ac9ac87a425b9495d09bc5","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/a229ff96-460d-485a-8438-c9be8902304f"},{"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/fa32420d-6280-417b-924c-cc262a51835e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F53c6069f-e6e1-47d4-af60-fa8f8acc3e6f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"75a99efd-3bac-4f38-bd72-4f2684907404","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.5128305} 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/a229ff96-460d-485a-8438-c9be8902304f"},{"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/fa32420d-6280-417b-924c-cc262a51835e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f"}}},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18a48d4c-47f3-4dd9-bc7c-7727a0934c14","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.5160007} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"6c0c7470-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"data":{"peerconnection":"53c6069f-e6e1-47d4-af60-fa8f8acc3e6f","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/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f 204 66ms","method":"DELETE","requestID":"6c0c7470-2a5f-11ef-8ed1-011028b23f76","responseTime":66,"status":204,"url":"/peerconnections/53c6069f-e6e1-47d4-af60-fa8f8acc3e6f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faca7886a-6daa-4e77-9cf9-186e3b84509d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faca7886a-6daa-4e77-9cf9-186e3b84509d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"8957a75f-32df-4f89-9f0b-103bdf4624a3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.587235} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b10cd95-b0c2-4a18-bf8f-09f36bbdb1be","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.5876231} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6040610c815c1b8843ea92357b7bc65d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6040610c815c1b8843ea92357b7bc65d"} experiment-1 | {"level":"info","message":"DELETE /experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d 204 200ms","method":"DELETE","requestID":"6040610c815c1b8843ea92357b7bc65d","responseTime":200,"status":204,"url":"/experiments/aca7886a-6daa-4e77-9cf9-186e3b84509d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"c6e674a1565011050888d0e15d2e5df5","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6e674a1565011050888d0e15d2e5df5"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"2e79e6a8e7ac9ac87a425b9495d09bc5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"2e79e6a8e7ac9ac87a425b9495d09bc5","responseTime":149,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db5aa62893e190121416d7e61064c616","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1727","request_time":"0.856","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9003aaea18ce4c4317522a5aa0de2630"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1997","request_time":"0.820","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0979f64ad11fdf4a5b99da56f50fb27f"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.882547,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377479,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok"} 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":"db5aa62893e190121416d7e61064c616"},"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/fa32420d-6280-417b-924c-cc262a51835e' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a229ff96-460d-485a-8438-c9be8902304f' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b44b7bbe-d6ea-4e12-b6b7-7945572ede50","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.6904268} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db5aa62893e190121416d7e61064c616"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f54717c-02a2-416b-90e9-43406b096557","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.695657} 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":"db5aa62893e190121416d7e61064c616"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"e002f455-876f-410d-ab61-c1c9febe3b18","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.7126899} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6605ff8-85f9-4990-aa1a-8aa69a9aa64c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.712874} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db5aa62893e190121416d7e61064c616"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.712673695Z"}]},"request_id":"f15aaa51-adc7-4e0a-bc7d-58e4597a67fd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.7174857} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db5aa62893e190121416d7e61064c616"},"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 53ms","method":"POST","requestID":"db5aa62893e190121416d7e61064c616","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db5aa62893e190121416d7e61064c616"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"07c873021e3219fcced4887911919c28","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694539,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377479,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ3OX0.D_4rFFjEa0zEEi9IcdQJHgW6S4IG-Ps7O50HcKHIqok"} 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":"07c873021e3219fcced4887911919c28"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"23cf6af2-8c02-4bab-8505-f5d2b6388558","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.7450943} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07c873021e3219fcced4887911919c28"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6720e350-1693-4747-9731-fb6d26ef3d58","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.750774} 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":"07c873021e3219fcced4887911919c28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"aaf3f015-f92e-4530-a721-4345b1277925","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.76022} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25ba23b8-1ab9-4779-9b49-025525ea2f20","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.760504} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07c873021e3219fcced4887911919c28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.760197349Z"}]},"request_id":"fae931d4-4838-4eb7-aa56-548da032238d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377479.7649338} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07c873021e3219fcced4887911919c28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07c873021e3219fcced4887911919c28"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"07c873021e3219fcced4887911919c28","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"41b691bfc9958f31c8c88f30b97704e1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/54d27c59-4656-42b3-9d58-f723684a13dd/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":"41b691bfc9958f31c8c88f30b97704e1"} device-1 | {"level":"info","message":"OPTIONS /devices/54d27c59-4656-42b3-9d58-f723684a13dd/websocket 200 2ms","method":"OPTIONS","requestID":"41b691bfc9958f31c8c88f30b97704e1","responseTime":2,"status":200,"url":"/devices/54d27c59-4656-42b3-9d58-f723684a13dd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"911198941ed12b3459fb3f1b074c5d05","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"77975823eb901577da14772e95b0daf6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3095781c-cb8a-493e-be92-e3cb727ef0b8/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":"77975823eb901577da14772e95b0daf6"} device-1 | {"level":"info","message":"OPTIONS /devices/3095781c-cb8a-493e-be92-e3cb727ef0b8/websocket 200 1ms","method":"OPTIONS","requestID":"77975823eb901577da14772e95b0daf6","responseTime":1,"status":200,"url":"/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8/websocket"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929378,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} 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":"911198941ed12b3459fb3f1b074c5d05"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"805fa02763079a895892d3aa568e3fd7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.159935,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"805fa02763079a895892d3aa568e3fd7"},"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":"14/Jun/2024:15:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/54d27c59-4656-42b3-9d58-f723684a13dd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"911198941ed12b3459fb3f1b074c5d05"} device-1 | {"level":"info","message":"POST /devices/54d27c59-4656-42b3-9d58-f723684a13dd/websocket 200 26ms","method":"POST","requestID":"911198941ed12b3459fb3f1b074c5d05","responseTime":26,"status":200,"url":"/devices/54d27c59-4656-42b3-9d58-f723684a13dd/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3095781c-cb8a-493e-be92-e3cb727ef0b8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"805fa02763079a895892d3aa568e3fd7"} device-1 | {"level":"info","message":"POST /devices/3095781c-cb8a-493e-be92-e3cb727ef0b8/websocket 200 22ms","method":"POST","requestID":"805fa02763079a895892d3aa568e3fd7","responseTime":22,"status":200,"url":"/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e22608d9f7c665aba331bf08e252ea17","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676908,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e22608d9f7c665aba331bf08e252ea17"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.712673695Z"}]},"request_id":"29b731a1-6bc2-4355-bb08-f43493d63c52","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377481.8079083} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e22608d9f7c665aba331bf08e252ea17"},"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":"14/Jun/2024:15:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3095781c-cb8a-493e-be92-e3cb727ef0b8? 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":"e22608d9f7c665aba331bf08e252ea17"} device-1 | {"level":"info","message":"GET /devices/3095781c-cb8a-493e-be92-e3cb727ef0b8? 200 16ms","method":"GET","requestID":"e22608d9f7c665aba331bf08e252ea17","responseTime":16,"status":200,"url":"/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a379af05fcfc7b71eef3b6dd92c3f1de","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916865,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a379af05fcfc7b71eef3b6dd92c3f1de"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.760197349Z"}]},"request_id":"53a91788-9f14-4a01-b33f-40b1349d7548","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377481.8304114} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a379af05fcfc7b71eef3b6dd92c3f1de"},"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/54d27c59-4656-42b3-9d58-f723684a13dd? 200 15ms","method":"GET","requestID":"a379af05fcfc7b71eef3b6dd92c3f1de","responseTime":15,"status":200,"url":"/devices/54d27c59-4656-42b3-9d58-f723684a13dd?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54d27c59-4656-42b3-9d58-f723684a13dd? 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":"a379af05fcfc7b71eef3b6dd92c3f1de"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fcad049dfe0ea371d42f7aa6b78a2509","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:44380","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.037342,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} 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":"fcad049dfe0ea371d42f7aa6b78a2509"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"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:44380","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616041,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} 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":"6d7c7f30-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187463,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} 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":"6d7cf460-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.712673695Z"}]},"request_id":"b2fbbefd-b537-46e1-89b1-2b3d7466ad85","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377481.9064531} 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":"6d7c7f30-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.760197349Z"}]},"request_id":"889b35ee-cc4a-4c3d-b425-b3161b2aaed8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377481.9080217} 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":"6d7cf460-2a5f-11ef-8ed1-011028b23f76"},"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/3095781c-cb8a-493e-be92-e3cb727ef0b8? 200 26ms","method":"GET","requestID":"6d7c7f30-2a5f-11ef-8ed1-011028b23f76","responseTime":26,"status":200,"url":"/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/54d27c59-4656-42b3-9d58-f723684a13dd? 200 24ms","method":"GET","requestID":"6d7cf460-2a5f-11ef-8ed1-011028b23f76","responseTime":24,"status":200,"url":"/devices/54d27c59-4656-42b3-9d58-f723684a13dd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"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/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067497,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} 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":"6d877bb0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748941,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} 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":"6d87c9d0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.712673695Z"}]},"request_id":"9b5d61b0-394e-460c-93e5-4209f873a216","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377481.977262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d877bb0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.760197349Z"}]},"request_id":"1c13622c-c110-4fa6-af0e-fa45f7b13abc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377481.9785502} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d87c9d0-2a5f-11ef-8ed1-011028b23f76"},"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/3095781c-cb8a-493e-be92-e3cb727ef0b8? 200 23ms","method":"GET","requestID":"6d877bb0-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/54d27c59-4656-42b3-9d58-f723684a13dd? 200 22ms","method":"GET","requestID":"6d87c9d0-2a5f-11ef-8ed1-011028b23f76","responseTime":22,"status":200,"url":"/devices/54d27c59-4656-42b3-9d58-f723684a13dd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"5d81fe26-bb21-4f6e-bde3-08f22ff084ba","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377481.9903386} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c996dda-a0ea-47f7-9687-db058be8bb13","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377481.9907858} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcad049dfe0ea371d42f7aa6b78a2509"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.751358,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:41Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","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":"6d8b9a60-2a5f-11ef-8ed1-011028b23f76"},"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/3095781c-cb8a-493e-be92-e3cb727ef0b8/signaling 200 10ms","method":"POST","requestID":"6d8b9a60-2a5f-11ef-8ed1-011028b23f76","responseTime":10,"status":200,"url":"/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcad049dfe0ea371d42f7aa6b78a2509"} experiment-1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"fcad049dfe0ea371d42f7aa6b78a2509","responseTime":159,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1c396329b2b5240fcdecdc2d90c79685","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.807825,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","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":"6d8dbd40-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856349,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} device-1 | {"level":"info","message":"POST /devices/54d27c59-4656-42b3-9d58-f723684a13dd/signaling 200 11ms","method":"POST","requestID":"6d8dbd40-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/54d27c59-4656-42b3-9d58-f723684a13dd/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377482,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c396329b2b5240fcdecdc2d90c79685"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"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":"46a6427b-3a51-46e0-8870-918948f8fca1"},{"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":"79be48c2-971c-4077-ab07-11313f54656b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3fd2c447-82fb-483a-a5b9-50af6ec5855a"}]},"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/54d27c59-4656-42b3-9d58-f723684a13dd"},{"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/3095781c-cb8a-493e-be92-e3cb727ef0b8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3095781c-cb8a-493e-be92-e3cb727ef0b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.712673695Z"}]},"request_id":"e9d734a2-4078-42cd-9800-a0ed824e5eaf","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.0196154} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c396329b2b5240fcdecdc2d90c79685"},"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:44380","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.930004,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377481,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4MX0.LGmh5xkH_mpPqWrA8jkkIJ2zayewUW2-XbimoIaLHeM"} 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":"6d8fe020-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3095781c-cb8a-493e-be92-e3cb727ef0b8? 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":"1c396329b2b5240fcdecdc2d90c79685"} device-1 | {"level":"info","message":"GET /devices/3095781c-cb8a-493e-be92-e3cb727ef0b8? 200 18ms","method":"GET","requestID":"1c396329b2b5240fcdecdc2d90c79685","responseTime":18,"status":200,"url":"/devices/3095781c-cb8a-493e-be92-e3cb727ef0b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f92281e45fc3d1d585a60742e4ef0fb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"d95ccea9-72d8-44e3-9069-6471d2993a6c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.0364623} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"867de125-a551-4ca8-a138-d84102212e77","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.036796} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d8fe020-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.999832,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377482,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc"} 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":"9f92281e45fc3d1d585a60742e4ef0fb"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54d27c59-4656-42b3-9d58-f723684a13dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:39.760197349Z"}]},"request_id":"70e7e284-ff1e-4338-9763-370cbe5f135c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.0463605} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f92281e45fc3d1d585a60742e4ef0fb"},"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/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"6d8fe020-2a5f-11ef-8ed1-011028b23f76","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54d27c59-4656-42b3-9d58-f723684a13dd? 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":"9f92281e45fc3d1d585a60742e4ef0fb"} device-1 | {"level":"info","message":"GET /devices/54d27c59-4656-42b3-9d58-f723684a13dd? 200 23ms","method":"GET","requestID":"9f92281e45fc3d1d585a60742e4ef0fb","responseTime":23,"status":200,"url":"/devices/54d27c59-4656-42b3-9d58-f723684a13dd?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","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":"61c104fe354179166ef34ababa828708","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd"},{"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/3095781c-cb8a-493e-be92-e3cb727ef0b8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"61c104fe354179166ef34ababa828708","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"61c104fe354179166ef34ababa828708"} device-1 | {"data":{"peerconnection":"a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","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":"978d661e335a89fa2f7d0b71f01b8ce3","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/54d27c59-4656-42b3-9d58-f723684a13dd"},{"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/3095781c-cb8a-493e-be92-e3cb727ef0b8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa6b61f20-b6c2-4322-9fa8-cf8c29511ab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8af1501c-5bcd-4e9f-ab21-d5ae41fb8b59","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.3232703} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":5.325779,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6dbd31b0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9 200 15ms","method":"GET","requestID":"6dbd31b0-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"978d661e335a89fa2f7d0b71f01b8ce3","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.058","http_referrer":"","http_user_agent":"node-fetch","requestID":"978d661e335a89fa2f7d0b71f01b8ce3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37226f576742504b16adee76e2ddea14","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.178683,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377482,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc"} 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":"37226f576742504b16adee76e2ddea14"},"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/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37226f576742504b16adee76e2ddea14"} experiment-1 | {"level":"info","message":"GET /experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6 200 17ms","method":"GET","requestID":"37226f576742504b16adee76e2ddea14","responseTime":17,"status":200,"url":"/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1265f0b31d6d74ebd5ea171c0cff52c2","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.221654,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377482,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc"} 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":"1265f0b31d6d74ebd5ea171c0cff52c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.115271,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377482,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc"} 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":"6dd107d0-2a5f-11ef-8ed1-011028b23f76"},"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/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","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":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa6b61f20-b6c2-4322-9fa8-cf8c29511ab9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa6b61f20-b6c2-4322-9fa8-cf8c29511ab9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"fa621016-9825-4d31-ada3-321b0cdea62d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.4724355} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c2a4925e595f51586852a7bd43eefc13","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"913e4cb0-4b1b-480a-b622-1a457c4cc0c8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.4731376} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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/54d27c59-4656-42b3-9d58-f723684a13dd"},{"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/3095781c-cb8a-493e-be92-e3cb727ef0b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb5c02e6cca90aad80c89af1ac3f7906","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6dd107d0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/54d27c59-4656-42b3-9d58-f723684a13dd"},{"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/3095781c-cb8a-493e-be92-e3cb727ef0b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"a6b61f20-b6c2-4322-9fa8-cf8c29511ab9","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/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9 204 50ms","method":"DELETE","requestID":"6dd107d0-2a5f-11ef-8ed1-011028b23f76","responseTime":50,"status":204,"url":"/peerconnections/a6b61f20-b6c2-4322-9fa8-cf8c29511ab9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"ed8212d9-6536-4827-934c-044316e849c9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.53435} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4966b210-580e-458d-8c45-d06968c3d986","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.5347228} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1265f0b31d6d74ebd5ea171c0cff52c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1265f0b31d6d74ebd5ea171c0cff52c2"} experiment-1 | {"level":"info","message":"DELETE /experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6 204 175ms","method":"DELETE","requestID":"1265f0b31d6d74ebd5ea171c0cff52c2","responseTime":175,"status":204,"url":"/experiments/5d01b263-fb42-4a83-ad4a-abb1c6ce3fb6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"c2a4925e595f51586852a7bd43eefc13","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2a4925e595f51586852a7bd43eefc13"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"eb5c02e6cca90aad80c89af1ac3f7906","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"eb5c02e6cca90aad80c89af1ac3f7906"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1729","request_time":"0.835","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f18f495fb1fdd54739fea309fcacf863"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1996","request_time":"0.844","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"67491fe0b1a8079e999f7742b12f90c3"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"14ee24697511b3f8cbd75cbaca8d3a6e","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.899197,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/54d27c59-4656-42b3-9d58-f723684a13dd' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377482,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc"} 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":"14ee24697511b3f8cbd75cbaca8d3a6e"},"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/3095781c-cb8a-493e-be92-e3cb727ef0b8' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c107054a-b4b8-490e-9d11-23d03e622350","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.646473} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14ee24697511b3f8cbd75cbaca8d3a6e"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"545aec0b-1263-4a2a-b648-0e36b612ce2b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.6527445} 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":"14ee24697511b3f8cbd75cbaca8d3a6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0a336e3b-5c11-4a09-acab-8534232f29bd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.662812} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5e6a172-3e96-4c16-9904-43a4ec1b34e0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.6629386} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14ee24697511b3f8cbd75cbaca8d3a6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.662791812Z"}]},"request_id":"fa300a7d-40f4-442a-849c-f55c5a6b9a75","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.6687636} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14ee24697511b3f8cbd75cbaca8d3a6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14ee24697511b3f8cbd75cbaca8d3a6e"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"14ee24697511b3f8cbd75cbaca8d3a6e","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"834b0df5d0cf592167009f71bafd5b43","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.679064,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377482,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Mn0.nY29Ij_nyIu3xJKxy5l2epDnGDy6VVo9Jvh9FgTdhnc"} 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":"834b0df5d0cf592167009f71bafd5b43"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8b3c4e53-21af-408c-9edb-e3ee2126de3e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.6930382} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"834b0df5d0cf592167009f71bafd5b43"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c9ea588-a555-47e0-8572-418da4b1104d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.6989028} 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":"834b0df5d0cf592167009f71bafd5b43"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"51912f6a-5822-43ba-808b-47e9e37b177c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.715047} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17b40001-29f5-4c7c-b4d7-3e94c5e0bef4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.7152333} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"834b0df5d0cf592167009f71bafd5b43"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.715030569Z"}]},"request_id":"981b3b62-5e3a-4d7b-a43d-710a96bc8c19","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377482.7203662} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"834b0df5d0cf592167009f71bafd5b43"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"834b0df5d0cf592167009f71bafd5b43"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"834b0df5d0cf592167009f71bafd5b43","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4M30.VZPMULwf9Kv2pz9cRIG1BwLzaV3PhcXo_gy0LRbkftQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c16c1dda8f37130dbb4c2976d546f3b2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135081,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377483,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4M30.VZPMULwf9Kv2pz9cRIG1BwLzaV3PhcXo_gy0LRbkftQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c16c1dda8f37130dbb4c2976d546f3b2"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.715030569Z"}]},"request_id":"d97ef6fc-3825-499c-8731-0ddb6c1eee31","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377483.2003338} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c16c1dda8f37130dbb4c2976d546f3b2"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cdf2917-8122-490d-b073-fa165d18ca40","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377483.20602} 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":"c16c1dda8f37130dbb4c2976d546f3b2"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.715030569Z"}]},"request_id":"a8826614-7fdf-4f46-82ff-fcf0be9a7c23","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377483.2195036} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c16c1dda8f37130dbb4c2976d546f3b2"},"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":"14/Jun/2024:15:04:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/45224d93-a308-4ce0-a24c-7392bf3013b1 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c16c1dda8f37130dbb4c2976d546f3b2"} device-1 | {"level":"info","message":"PATCH /devices/45224d93-a308-4ce0-a24c-7392bf3013b1 200 35ms","method":"PATCH","requestID":"c16c1dda8f37130dbb4c2976d546f3b2","responseTime":35,"status":200,"url":"/devices/45224d93-a308-4ce0-a24c-7392bf3013b1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4M30.VZPMULwf9Kv2pz9cRIG1BwLzaV3PhcXo_gy0LRbkftQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f3291f1b574f0575d6c084b7328dfd7c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:43Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643985,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377483,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4M30.VZPMULwf9Kv2pz9cRIG1BwLzaV3PhcXo_gy0LRbkftQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3291f1b574f0575d6c084b7328dfd7c"},"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":"14/Jun/2024:15:04:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/45224d93-a308-4ce0-a24c-7392bf3013b1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f3291f1b574f0575d6c084b7328dfd7c"} device-1 | {"level":"info","message":"POST /devices/45224d93-a308-4ce0-a24c-7392bf3013b1/websocket 200 20ms","method":"POST","requestID":"f3291f1b574f0575d6c084b7328dfd7c","responseTime":20,"status":200,"url":"/devices/45224d93-a308-4ce0-a24c-7392bf3013b1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1' 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":"31fd623ba75250491bd560a40d4b368b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88/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":"31fd623ba75250491bd560a40d4b368b"} device-1 | {"level":"info","message":"OPTIONS /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88/websocket 200 1ms","method":"OPTIONS","requestID":"31fd623ba75250491bd560a40d4b368b","responseTime":1,"status":200,"url":"/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NH0.DXcoLqTKApeMiOrcTKopkBTGty0SwuXNy1EICNqnreA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3fdae17603b2e2ccf9f68d9cd1289e21","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.895699,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377484,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NH0.DXcoLqTKApeMiOrcTKopkBTGty0SwuXNy1EICNqnreA"} 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":"3fdae17603b2e2ccf9f68d9cd1289e21"},"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":"14/Jun/2024:15:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.193","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3fdae17603b2e2ccf9f68d9cd1289e21"} device-1 | {"level":"info","message":"POST /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88/websocket 200 185ms","method":"POST","requestID":"3fdae17603b2e2ccf9f68d9cd1289e21","responseTime":185,"status":200,"url":"/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NH0.DXcoLqTKApeMiOrcTKopkBTGty0SwuXNy1EICNqnreA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a17398b96e1803256a325c46ad054ec0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206738,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377484,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NH0.DXcoLqTKApeMiOrcTKopkBTGty0SwuXNy1EICNqnreA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a17398b96e1803256a325c46ad054ec0"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.662791812Z"}]},"request_id":"a6bf9bbd-cba8-48c9-a068-479566044019","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377484.9833674} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a17398b96e1803256a325c46ad054ec0"},"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":"14/Jun/2024:15:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88? 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":"a17398b96e1803256a325c46ad054ec0"} device-1 | {"level":"info","message":"GET /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88? 200 19ms","method":"GET","requestID":"a17398b96e1803256a325c46ad054ec0","responseTime":19,"status":200,"url":"/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NH0.DXcoLqTKApeMiOrcTKopkBTGty0SwuXNy1EICNqnreA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b131c0bb51eea20a288f0548ebf8609","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.224937,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377484,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NH0.DXcoLqTKApeMiOrcTKopkBTGty0SwuXNy1EICNqnreA"} 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":"6b131c0bb51eea20a288f0548ebf8609"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.715030569Z"}]},"request_id":"bb9a7731-2738-4fe0-8ba5-4fd07b13cfe9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.0103097} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b131c0bb51eea20a288f0548ebf8609"},"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":"14/Jun/2024:15:04:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/45224d93-a308-4ce0-a24c-7392bf3013b1? 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":"6b131c0bb51eea20a288f0548ebf8609"} device-1 | {"level":"info","message":"GET /devices/45224d93-a308-4ce0-a24c-7392bf3013b1? 200 19ms","method":"GET","requestID":"6b131c0bb51eea20a288f0548ebf8609","responseTime":19,"status":200,"url":"/devices/45224d93-a308-4ce0-a24c-7392bf3013b1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b3673906a4ed1afd62da2c1ee824487e","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:44380","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.157961,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377485,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q"} 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":"b3673906a4ed1afd62da2c1ee824487e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"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:44380","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202679,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377485,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q"} 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":"6f6192e0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.404054,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377485,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q"} 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":"6f620810-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.662791812Z"}]},"request_id":"2db8bf30-5d92-420b-8d53-203835e476a8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.0899215} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f6192e0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.715030569Z"}]},"request_id":"fe99737c-15dc-4f15-abee-d03163037b1a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.0924084} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f620810-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88? 200 31ms","method":"GET","requestID":"6f6192e0-2a5f-11ef-8ed1-011028b23f76","responseTime":31,"status":200,"url":"/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/45224d93-a308-4ce0-a24c-7392bf3013b1? 200 30ms","method":"GET","requestID":"6f620810-2a5f-11ef-8ed1-011028b23f76","responseTime":30,"status":200,"url":"/devices/45224d93-a308-4ce0-a24c-7392bf3013b1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"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/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.751803,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377485,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q"} 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":"6f70d520-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.301307,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377485,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q"} 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":"6f712340-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.662791812Z"}]},"request_id":"c45c6333-36fa-4f34-af52-f5220b1b685d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.1887727} 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":"6f70d520-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.715030569Z"}]},"request_id":"25b7a999-43c9-4776-bf15-e5bc26b345a1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.1907256} 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":"6f712340-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d1a8f1e-d8f3-435a-913b-b14375cfd27c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d1a8f1e-d8f3-435a-913b-b14375cfd27c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"17b251ef-dacf-49ef-8485-46a60968f3ff","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.198692} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20a5d0ec-88ea-421c-8127-7474c9ef5c54","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.199234} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88? 200 31ms","method":"GET","requestID":"6f70d520-2a5f-11ef-8ed1-011028b23f76","responseTime":31,"status":200,"url":"/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/45224d93-a308-4ce0-a24c-7392bf3013b1? 200 30ms","method":"GET","requestID":"6f712340-2a5f-11ef-8ed1-011028b23f76","responseTime":30,"status":200,"url":"/devices/45224d93-a308-4ce0-a24c-7392bf3013b1?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3673906a4ed1afd62da2c1ee824487e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.299957,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3673906a4ed1afd62da2c1ee824487e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 195ms","method":"POST","requestID":"b3673906a4ed1afd62da2c1ee824487e","responseTime":195,"status":201,"url":"/experiments?"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","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":"6f773dc0-2a5f-11ef-8ed1-011028b23f76"},"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/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88/signaling 200 14ms","method":"POST","requestID":"6f773dc0-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"828763cbe7d9dae96418891a7585287a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.312642,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377485,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q"} 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":"828763cbe7d9dae96418891a7585287a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.182875,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","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 8ms","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":"6f79fce0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb529f46-0bb3-469d-93d0-8d8ea0a2ce88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.662791812Z"}]},"request_id":"553fabd4-f560-4d4d-8a17-2bef6308689c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.2430966} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/45224d93-a308-4ce0-a24c-7392bf3013b1/signaling 200 14ms","method":"POST","requestID":"6f79fce0-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/45224d93-a308-4ce0-a24c-7392bf3013b1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"828763cbe7d9dae96418891a7585287a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"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":"6dd04f74-dbcc-4718-8a9c-431c0addfeeb"},{"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":"5881c244-18ba-46b8-b363-81e3780d0216"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"17509cd2-c4b0-46df-80ad-4251d25a2616"}]},"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/45224d93-a308-4ce0-a24c-7392bf3013b1"},{"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/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88? 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":"828763cbe7d9dae96418891a7585287a"} device-1 | {"level":"info","message":"GET /devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88? 200 21ms","method":"GET","requestID":"828763cbe7d9dae96418891a7585287a","responseTime":21,"status":200,"url":"/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.924309,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"458b3eb1c7bf68268ac63d100ab6ad09","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377485,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"6f7ce310-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966441,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377485,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4NX0.LnsdBvh_Tz2pXPPGp6_PKQCkq0pVHTm7EmKlOD1y0-Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"458b3eb1c7bf68268ac63d100ab6ad09"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45224d93-a308-4ce0-a24c-7392bf3013b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:42.715030569Z"}]},"request_id":"f2c015d2-6209-42c0-bc8e-1b9d80d6f543","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.264874} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"458b3eb1c7bf68268ac63d100ab6ad09"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"dfe45d9b-f434-4a34-945e-9ba06dac65b6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.2688665} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/45224d93-a308-4ce0-a24c-7392bf3013b1? 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":"458b3eb1c7bf68268ac63d100ab6ad09"} device-1 | {"level":"info","message":"GET /devices/45224d93-a308-4ce0-a24c-7392bf3013b1? 200 15ms","method":"GET","requestID":"458b3eb1c7bf68268ac63d100ab6ad09","responseTime":15,"status":200,"url":"/devices/45224d93-a308-4ce0-a24c-7392bf3013b1?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2c9c8fb-bed5-4965-a5a6-fc11672507e1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377485.2692626} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f7ce310-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"6f7ce310-2a5f-11ef-8ed1-011028b23f76","responseTime":35,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"044b6239-54cc-400b-9bd9-3a6927086c88","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/044b6239-54cc-400b-9bd9-3a6927086c88' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"044b6239-54cc-400b-9bd9-3a6927086c88","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":"fdda24393229d4faade768ec578c1303","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/45224d93-a308-4ce0-a24c-7392bf3013b1"},{"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/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"fdda24393229d4faade768ec578c1303","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"fdda24393229d4faade768ec578c1303"} device-1 | {"data":{"peerconnection":"044b6239-54cc-400b-9bd9-3a6927086c88","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"044b6239-54cc-400b-9bd9-3a6927086c88","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"044b6239-54cc-400b-9bd9-3a6927086c88","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":"5c156b6c54eadab2e4dc535cc11c5bd3","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/45224d93-a308-4ce0-a24c-7392bf3013b1"},{"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/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F044b6239-54cc-400b-9bd9-3a6927086c88","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd3d89c8-cea2-42c2-814d-19262bcdf53f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.418773} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.268708,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88","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":"702e31b0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88 200 15ms","method":"GET","requestID":"702e31b0-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"5c156b6c54eadab2e4dc535cc11c5bd3","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c156b6c54eadab2e4dc535cc11c5bd3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eba6409773d0ca216ea348bf4f7ec661","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.246403,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377486,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE"} 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":"eba6409773d0ca216ea348bf4f7ec661"},"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/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"} experiment-1 | {"level":"info","message":"GET /experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c 200 18ms","method":"GET","requestID":"eba6409773d0ca216ea348bf4f7ec661","responseTime":18,"status":200,"url":"/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eba6409773d0ca216ea348bf4f7ec661"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e8e3515f19932d3bf87972aa4be17d31","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.23845,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377486,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE"} 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":"e8e3515f19932d3bf87972aa4be17d31"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.253478,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377486,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE"} 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":"7041b9b0-2a5f-11ef-8ed1-011028b23f76"},"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/044b6239-54cc-400b-9bd9-3a6927086c88' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"044b6239-54cc-400b-9bd9-3a6927086c88","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":"3f52bd3123648de1b9f81fbc640fa020","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F044b6239-54cc-400b-9bd9-3a6927086c88': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F044b6239-54cc-400b-9bd9-3a6927086c88","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"c7d0f8c1-0787-426b-92ef-1c8ee3c2de42","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.5737402} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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/45224d93-a308-4ce0-a24c-7392bf3013b1"},{"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/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"69086d19f199273578bfa88e341b052d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efcab2f9-7b51-40bf-86b1-7ba194c77f23","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.5744617} 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/45224d93-a308-4ce0-a24c-7392bf3013b1"},{"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/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7041b9b0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"data":{"peerconnection":"044b6239-54cc-400b-9bd9-3a6927086c88","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/044b6239-54cc-400b-9bd9-3a6927086c88 204 56ms","method":"DELETE","requestID":"7041b9b0-2a5f-11ef-8ed1-011028b23f76","responseTime":56,"status":204,"url":"/peerconnections/044b6239-54cc-400b-9bd9-3a6927086c88"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d1a8f1e-d8f3-435a-913b-b14375cfd27c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d1a8f1e-d8f3-435a-913b-b14375cfd27c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"a6a8f4ec-26fb-4030-8950-9949f05d4014","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.6346846} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"254f1999-6f04-4952-a51c-91191051dcf4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.6352258} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8e3515f19932d3bf87972aa4be17d31"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8e3515f19932d3bf87972aa4be17d31"} experiment-1 | {"level":"info","message":"DELETE /experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c 204 177ms","method":"DELETE","requestID":"e8e3515f19932d3bf87972aa4be17d31","responseTime":177,"status":204,"url":"/experiments/7d1a8f1e-d8f3-435a-913b-b14375cfd27c"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1996","request_time":"3.447","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1b72b4012b43948818a258ff22a4c92d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"3f52bd3123648de1b9f81fbc640fa020","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f52bd3123648de1b9f81fbc640fa020"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"69086d19f199273578bfa88e341b052d","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"69086d19f199273578bfa88e341b052d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a77a02a038cef57012c564ace66421a9","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:46Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"1.768","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5fc3aea0c32912a1bc904dc4b5775a1d"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.111707,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377486,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE"} 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":"a77a02a038cef57012c564ace66421a9"},"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/45224d93-a308-4ce0-a24c-7392bf3013b1' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0eca446e-6956-4976-ac97-20afc7850e22","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.7362106} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a77a02a038cef57012c564ace66421a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bb529f46-0bb3-469d-93d0-8d8ea0a2ce88' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77c83825-03d2-47e7-af9e-a4d382515753","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.7416797} 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":"a77a02a038cef57012c564ace66421a9"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fbf7e88-9e0a-4954-b3c5-7602d71fd9a8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.7520285} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"c3836317-4084-45da-b0f6-96dfae17d6fa","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.7523127} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a77a02a038cef57012c564ace66421a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.752291106Z"}]},"request_id":"e71a77a1-f6d1-49e5-a808-aa9f8336d5a3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.7565517} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a77a02a038cef57012c564ace66421a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a77a02a038cef57012c564ace66421a9"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"a77a02a038cef57012c564ace66421a9","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c6818ae581b9b8b11c13f3c749c2ffab","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.818242,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377486,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4Nn0.MLdBXyG217KZ7i0bx2w4bYIXDGObkCOhez8vuFshXmE"} 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":"c6818ae581b9b8b11c13f3c749c2ffab"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"da1ab1a0-aba7-43b2-950f-b3d3e9bc2fd8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.7867272} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6818ae581b9b8b11c13f3c749c2ffab"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11f50d96-8ad7-4237-8ca5-44c7cf1fb284","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.7921085} 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":"c6818ae581b9b8b11c13f3c749c2ffab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"5c07e979-f95c-4190-bb9d-f187d86158d4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.803643} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ec172a7-2467-4055-84ed-6fca2a2025dc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.8038363} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6818ae581b9b8b11c13f3c749c2ffab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.803622006Z"}]},"request_id":"585a5571-2038-4193-8aed-cc5fbf9ae6c2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377486.8079944} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6818ae581b9b8b11c13f3c749c2ffab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6818ae581b9b8b11c13f3c749c2ffab"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"c6818ae581b9b8b11c13f3c749c2ffab","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4N30.RjoFYuHp6UA4BMgDXISm8SXbchpbETZRB_r7Jt4MYWA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3148e803c8b0fd1f1024c68caaa66ca4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856089,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377487,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4N30.RjoFYuHp6UA4BMgDXISm8SXbchpbETZRB_r7Jt4MYWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3148e803c8b0fd1f1024c68caaa66ca4"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.803622006Z"}]},"request_id":"d7eed2ca-b5eb-45d5-b37d-a390477f721c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377487.289432} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3148e803c8b0fd1f1024c68caaa66ca4"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"533a2236-a259-4c44-8a7b-d81652a4959f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377487.2974741} 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":"3148e803c8b0fd1f1024c68caaa66ca4"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.803622006Z"}]},"request_id":"6d957c0b-c40c-4563-b38f-5a97439b0897","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377487.3101194} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3148e803c8b0fd1f1024c68caaa66ca4"},"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":"14/Jun/2024:15:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3148e803c8b0fd1f1024c68caaa66ca4"} device-1 | {"level":"info","message":"PATCH /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095 200 39ms","method":"PATCH","requestID":"3148e803c8b0fd1f1024c68caaa66ca4","responseTime":39,"status":200,"url":"/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4N30.RjoFYuHp6UA4BMgDXISm8SXbchpbETZRB_r7Jt4MYWA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f557a56db6e9b44aaeb6290737e2a9f7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.227341,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377487,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4N30.RjoFYuHp6UA4BMgDXISm8SXbchpbETZRB_r7Jt4MYWA"} 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":"f557a56db6e9b44aaeb6290737e2a9f7"},"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":"14/Jun/2024:15:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f557a56db6e9b44aaeb6290737e2a9f7"} device-1 | {"level":"info","message":"POST /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095/websocket 200 23ms","method":"POST","requestID":"f557a56db6e9b44aaeb6290737e2a9f7","responseTime":23,"status":200,"url":"/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095' 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":"780439052bf1664955903118a48b194b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8b277026-641f-43f5-90ce-96d23597cce9/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":"780439052bf1664955903118a48b194b"} device-1 | {"level":"info","message":"OPTIONS /devices/8b277026-641f-43f5-90ce-96d23597cce9/websocket 200 1ms","method":"OPTIONS","requestID":"780439052bf1664955903118a48b194b","responseTime":1,"status":200,"url":"/devices/8b277026-641f-43f5-90ce-96d23597cce9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c08e7169d95e8e54848517bf4152705d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267147,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} 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":"c08e7169d95e8e54848517bf4152705d"},"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":"14/Jun/2024:15:04:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8b277026-641f-43f5-90ce-96d23597cce9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c08e7169d95e8e54848517bf4152705d"} device-1 | {"level":"info","message":"POST /devices/8b277026-641f-43f5-90ce-96d23597cce9/websocket 200 22ms","method":"POST","requestID":"c08e7169d95e8e54848517bf4152705d","responseTime":22,"status":200,"url":"/devices/8b277026-641f-43f5-90ce-96d23597cce9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b099828054674ecd8dc5c0f790546d8f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.345221,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b099828054674ecd8dc5c0f790546d8f"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.752291106Z"}]},"request_id":"869d5c6b-1e2d-4743-9f63-639507e36946","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377488.891837} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b099828054674ecd8dc5c0f790546d8f"},"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/8b277026-641f-43f5-90ce-96d23597cce9? 200 20ms","method":"GET","requestID":"b099828054674ecd8dc5c0f790546d8f","responseTime":20,"status":200,"url":"/devices/8b277026-641f-43f5-90ce-96d23597cce9?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8b277026-641f-43f5-90ce-96d23597cce9? 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":"b099828054674ecd8dc5c0f790546d8f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4cba30baac4ae39e65a454789a6acccf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323572,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} 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":"4cba30baac4ae39e65a454789a6acccf"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.803622006Z"}]},"request_id":"80e92521-1aba-4a30-839e-87a0ef9449be","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377488.9220967} 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":"4cba30baac4ae39e65a454789a6acccf"},"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":"14/Jun/2024:15:04:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4cba30baac4ae39e65a454789a6acccf"} device-1 | {"level":"info","message":"GET /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095? 200 24ms","method":"GET","requestID":"4cba30baac4ae39e65a454789a6acccf","responseTime":24,"status":200,"url":"/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b6e67e85cf109b13ed6af00c80c2fe2e","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:44380","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.13486,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} 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":"b6e67e85cf109b13ed6af00c80c2fe2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"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:44380","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607868,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71b4f8c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606762,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71b546e0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.752291106Z"}]},"request_id":"2db4db79-85d7-46e1-94cf-cae67ba7a7ff","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377488.9812505} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71b4f8c0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.803622006Z"}]},"request_id":"e1399f4d-78ab-40f0-98c0-2d9d73f9292d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377488.9819047} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71b546e0-2a5f-11ef-8ed1-011028b23f76"},"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/8b277026-641f-43f5-90ce-96d23597cce9? 200 14ms","method":"GET","requestID":"71b4f8c0-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/8b277026-641f-43f5-90ce-96d23597cce9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095? 200 13ms","method":"GET","requestID":"71b546e0-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"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:44380","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842502,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} 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":"71bf5900-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733007,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71bfce30-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.752291106Z"}]},"request_id":"04aa6486-56d7-4ea3-a9ee-2d06600ab287","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377489.0522718} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.803622006Z"}]},"request_id":"dd122f5c-862f-40c7-a486-75eb9e37e3ab","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377489.05351} 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":"71bf5900-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71bfce30-2a5f-11ef-8ed1-011028b23f76"},"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/8b277026-641f-43f5-90ce-96d23597cce9? 200 20ms","method":"GET","requestID":"71bf5900-2a5f-11ef-8ed1-011028b23f76","responseTime":20,"status":200,"url":"/devices/8b277026-641f-43f5-90ce-96d23597cce9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095? 200 18ms","method":"GET","requestID":"71bfce30-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"19fa71c0-4483-4eae-8287-0035bb4f4590","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377489.0733066} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f870c7f5-c0f0-47a5-bf75-725955839338","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377489.073492} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6e67e85cf109b13ed6af00c80c2fe2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.182439,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","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":"71c3c5d0-2a5f-11ef-8ed1-011028b23f76"},"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/8b277026-641f-43f5-90ce-96d23597cce9/signaling 200 13ms","method":"POST","requestID":"71c3c5d0-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/8b277026-641f-43f5-90ce-96d23597cce9/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"14/Jun/2024:15:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6e67e85cf109b13ed6af00c80c2fe2e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 147ms","method":"POST","requestID":"b6e67e85cf109b13ed6af00c80c2fe2e","responseTime":147,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.666764,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","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":"71c65de0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OX0.lP8brGBIL8WNViL8nsGllghyOP7NoAjN0BPLH-5qzB4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe12fefacda131e2080799b52addb61b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095/signaling 200 10ms","method":"POST","requestID":"71c65de0-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:49Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"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":"f050f3c7-95f9-4ee2-ad23-c4289a7ddf99"},{"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":"0c57bbca-1ad2-4a6b-b55a-40782195d525"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4f90db4e-131c-457a-8179-2864a8e09a21"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.364417,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:49Z"} 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/8772f0e8-6f1f-4ef6-a718-ab6819945095"},{"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/8b277026-641f-43f5-90ce-96d23597cce9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377489,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OX0.lP8brGBIL8WNViL8nsGllghyOP7NoAjN0BPLH-5qzB4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe12fefacda131e2080799b52addb61b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.594552,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377488,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OH0.ogaJ0Knp1Qp1uhdIFQ9hU7iRBsW-JvJVbRZJKrsBo3w"} 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":"71c880c0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b277026-641f-43f5-90ce-96d23597cce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.752291106Z"}]},"request_id":"ad531d36-593e-46ee-b4be-77f1c0588ee4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377489.1052732} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe12fefacda131e2080799b52addb61b"},"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/8b277026-641f-43f5-90ce-96d23597cce9? 200 19ms","method":"GET","requestID":"fe12fefacda131e2080799b52addb61b","responseTime":19,"status":200,"url":"/devices/8b277026-641f-43f5-90ce-96d23597cce9?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8b277026-641f-43f5-90ce-96d23597cce9? 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":"fe12fefacda131e2080799b52addb61b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OX0.lP8brGBIL8WNViL8nsGllghyOP7NoAjN0BPLH-5qzB4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1190b639264b414cb1d58fab55eecef4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"32a2771a-8e4b-4d96-944a-dad62bccefd3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377489.1182752} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f48b09a-0e4b-4cf2-8f14-01923385f5c7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377489.1185355} 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":"71c880c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940348,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377489,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ4OX0.lP8brGBIL8WNViL8nsGllghyOP7NoAjN0BPLH-5qzB4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1190b639264b414cb1d58fab55eecef4"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8772f0e8-6f1f-4ef6-a718-ab6819945095","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:46.803622006Z"}]},"request_id":"4a73958c-3d7b-4bfb-a140-b445ade802b1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377489.127079} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1190b639264b414cb1d58fab55eecef4"},"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/3c59b248-cffc-41a7-ba25-5b8ea619e00f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"71c880c0-2a5f-11ef-8ed1-011028b23f76","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095? 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":"1190b639264b414cb1d58fab55eecef4"} device-1 | {"level":"info","message":"GET /devices/8772f0e8-6f1f-4ef6-a718-ab6819945095? 200 21ms","method":"GET","requestID":"1190b639264b414cb1d58fab55eecef4","responseTime":21,"status":200,"url":"/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"3c59b248-cffc-41a7-ba25-5b8ea619e00f","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/3c59b248-cffc-41a7-ba25-5b8ea619e00f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3c59b248-cffc-41a7-ba25-5b8ea619e00f","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":"93a62b7c0e83ec98d08c039b54a273c4","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/8772f0e8-6f1f-4ef6-a718-ab6819945095"},{"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/8b277026-641f-43f5-90ce-96d23597cce9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"93a62b7c0e83ec98d08c039b54a273c4","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"93a62b7c0e83ec98d08c039b54a273c4"} device-1 | {"data":{"peerconnection":"3c59b248-cffc-41a7-ba25-5b8ea619e00f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3c59b248-cffc-41a7-ba25-5b8ea619e00f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3c59b248-cffc-41a7-ba25-5b8ea619e00f","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":"4bf39706a2cbff82c3756c5355a1dd28","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/8772f0e8-6f1f-4ef6-a718-ab6819945095"},{"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/8b277026-641f-43f5-90ce-96d23597cce9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3c59b248-cffc-41a7-ba25-5b8ea619e00f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7ac87aa-ad9b-474f-aee5-31e44ac6794f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.256595} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.270571,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f","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":"7277d390-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f 200 14ms","method":"GET","requestID":"7277d390-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"4bf39706a2cbff82c3756c5355a1dd28","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"4bf39706a2cbff82c3756c5355a1dd28"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"25e6fd2a98bbae798648128bc501f777","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.189365,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377490,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk"} 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":"25e6fd2a98bbae798648128bc501f777"},"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/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"} gateway-1 | {"time_local":"14/Jun/2024:15:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25e6fd2a98bbae798648128bc501f777"} experiment-1 | {"level":"info","message":"GET /experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0 200 18ms","method":"GET","requestID":"25e6fd2a98bbae798648128bc501f777","responseTime":18,"status":200,"url":"/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"606ae787bafb4fed1bd7f7001e609081","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.229314,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377490,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk"} 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":"606ae787bafb4fed1bd7f7001e609081"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.019626,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377490,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk"} 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":"728b5b90-2a5f-11ef-8ed1-011028b23f76"},"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/3c59b248-cffc-41a7-ba25-5b8ea619e00f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3c59b248-cffc-41a7-ba25-5b8ea619e00f","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":"6aed77ebf0965a05dcb0b040e34550c1","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3c59b248-cffc-41a7-ba25-5b8ea619e00f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3c59b248-cffc-41a7-ba25-5b8ea619e00f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"6e6766d1-699b-4aab-9eb0-03d2ef08405a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.4038935} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"023bc836209a5f037163b0c96a3e21b6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8772f0e8-6f1f-4ef6-a718-ab6819945095"},{"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/8b277026-641f-43f5-90ce-96d23597cce9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f"}}},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06a3f8e8-e0e0-4e6f-93d6-97ef8bd8c977","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.404776} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"728b5b90-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} 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/8772f0e8-6f1f-4ef6-a718-ab6819945095"},{"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/8b277026-641f-43f5-90ce-96d23597cce9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f 204 53ms","method":"DELETE","requestID":"728b5b90-2a5f-11ef-8ed1-011028b23f76","responseTime":53,"status":204,"url":"/peerconnections/3c59b248-cffc-41a7-ba25-5b8ea619e00f"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"e986288a-f229-4130-8ff5-8a8409ac220e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.4693184} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efb41a76-cda0-4148-bffb-54c1586d7402","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.4697108} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"606ae787bafb4fed1bd7f7001e609081"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"} gateway-1 | {"time_local":"14/Jun/2024:15:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"606ae787bafb4fed1bd7f7001e609081"} gateway-1 | {"time_local":"14/Jun/2024:15:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1995","request_time":"3.199","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"04d63e358ffaf237bd85e5e61387dc5d"} experiment-1 | {"level":"info","message":"DELETE /experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0 204 184ms","method":"DELETE","requestID":"606ae787bafb4fed1bd7f7001e609081","responseTime":184,"status":204,"url":"/experiments/6aa83c78-cc34-4ce7-bbc6-83b8b72e62e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"6aed77ebf0965a05dcb0b040e34550c1","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"6aed77ebf0965a05dcb0b040e34550c1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"023bc836209a5f037163b0c96a3e21b6","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"023bc836209a5f037163b0c96a3e21b6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c0c0145e10f22b35e5eb49c6b11d25fd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:50Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"1.702","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e269a243432bcf5cda0f8f4f1f80e068"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.02032,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377490,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk"} 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":"c0c0145e10f22b35e5eb49c6b11d25fd"},"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/8772f0e8-6f1f-4ef6-a718-ab6819945095' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9e6b942-9c6f-4255-ae88-57717ab0b2a1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.5770807} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0c0145e10f22b35e5eb49c6b11d25fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8b277026-641f-43f5-90ce-96d23597cce9' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2635ee49-c702-4766-93f4-bebe8e7fd7d3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.5832958} 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":"c0c0145e10f22b35e5eb49c6b11d25fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"2aff654d-cfa1-40f3-8729-e614f59f71d2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.5931206} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07d84795-c917-4314-b39b-154521a70d8c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.5933442} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0c0145e10f22b35e5eb49c6b11d25fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.593100830Z"}]},"request_id":"e1e52a31-1d48-46e3-9b6f-8b1bf790e4da","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.5981567} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0c0145e10f22b35e5eb49c6b11d25fd"},"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 49ms","method":"POST","requestID":"c0c0145e10f22b35e5eb49c6b11d25fd","responseTime":49,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0c0145e10f22b35e5eb49c6b11d25fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"12cf8081eb25f747ece6b54357c9b175","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.74044,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377490,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MH0.cEBp0OvcErSlWfS3pEt_-l5ZBs0VAL1YQzWJGMW0wLk"} 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":"12cf8081eb25f747ece6b54357c9b175"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9af6dc9e-7af3-42a9-b2d2-f1eff015a6dc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.6243052} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12cf8081eb25f747ece6b54357c9b175"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"daaf41ea-8f29-4afd-b3d3-1953a1f44d14","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.6290545} 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":"12cf8081eb25f747ece6b54357c9b175"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"4f557b47-8e5e-450b-beee-23120d0625f1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.6438527} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0552e4ea-f613-441f-a952-5a9b07419f7f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.6441126} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12cf8081eb25f747ece6b54357c9b175"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.643834472Z"}]},"request_id":"676e1014-df7f-40e7-8fff-216f143ae5c9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377490.6481028} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12cf8081eb25f747ece6b54357c9b175"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12cf8081eb25f747ece6b54357c9b175"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"12cf8081eb25f747ece6b54357c9b175","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MX0.Xa504tjqC0KVflEuLofmD0Tu36nlozTvrGvFrsmhsnU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"636f8596ec4e4e140358eeff5c1444e4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:51Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795435,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377491,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MX0.Xa504tjqC0KVflEuLofmD0Tu36nlozTvrGvFrsmhsnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"636f8596ec4e4e140358eeff5c1444e4"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.593100830Z"}]},"request_id":"4e24fbde-35f3-4630-99c2-40e4ef619263","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377491.1235628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"636f8596ec4e4e140358eeff5c1444e4"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32931663-34aa-4329-a3b5-bde02e9c33f0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377491.1298745} 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":"636f8596ec4e4e140358eeff5c1444e4"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.593100830Z"}]},"request_id":"378f9b5a-42f9-4077-a711-cd0a1f133c35","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377491.1418028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"636f8596ec4e4e140358eeff5c1444e4"},"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":"14/Jun/2024:15:04:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/090f0166-e6bb-4f29-9a4a-81a61b866627 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"636f8596ec4e4e140358eeff5c1444e4"} device-1 | {"level":"info","message":"PATCH /devices/090f0166-e6bb-4f29-9a4a-81a61b866627 200 34ms","method":"PATCH","requestID":"636f8596ec4e4e140358eeff5c1444e4","responseTime":34,"status":200,"url":"/devices/090f0166-e6bb-4f29-9a4a-81a61b866627"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MX0.Xa504tjqC0KVflEuLofmD0Tu36nlozTvrGvFrsmhsnU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8f56cc190de3e1dbd2e250be196caa73","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:51Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.073173,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377491,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5MX0.Xa504tjqC0KVflEuLofmD0Tu36nlozTvrGvFrsmhsnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f56cc190de3e1dbd2e250be196caa73"},"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":"14/Jun/2024:15:04:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/090f0166-e6bb-4f29-9a4a-81a61b866627/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8f56cc190de3e1dbd2e250be196caa73"} device-1 | {"level":"info","message":"POST /devices/090f0166-e6bb-4f29-9a4a-81a61b866627/websocket 200 19ms","method":"POST","requestID":"8f56cc190de3e1dbd2e250be196caa73","responseTime":20,"status":200,"url":"/devices/090f0166-e6bb-4f29-9a4a-81a61b866627/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627' 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":"e41f76338b7c956872599891d83ecc6d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e982c928-3abf-40f0-bbfa-2206d27fa406/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":"e41f76338b7c956872599891d83ecc6d"} device-1 | {"level":"info","message":"OPTIONS /devices/e982c928-3abf-40f0-bbfa-2206d27fa406/websocket 200 1ms","method":"OPTIONS","requestID":"e41f76338b7c956872599891d83ecc6d","responseTime":1,"status":200,"url":"/devices/e982c928-3abf-40f0-bbfa-2206d27fa406/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0070ebe4fedc895104281da3fe21688a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.32348,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} 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":"0070ebe4fedc895104281da3fe21688a"},"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":"14/Jun/2024:15:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e982c928-3abf-40f0-bbfa-2206d27fa406/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0070ebe4fedc895104281da3fe21688a"} device-1 | {"level":"info","message":"POST /devices/e982c928-3abf-40f0-bbfa-2206d27fa406/websocket 200 23ms","method":"POST","requestID":"0070ebe4fedc895104281da3fe21688a","responseTime":23,"status":200,"url":"/devices/e982c928-3abf-40f0-bbfa-2206d27fa406/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"24d8e9fcb44a824acf12dd6ceb22a683","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.020439,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} 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":"24d8e9fcb44a824acf12dd6ceb22a683"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.593100830Z"}]},"request_id":"563dc3a9-e73e-4a9a-9302-5eab0fa26580","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.7079954} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24d8e9fcb44a824acf12dd6ceb22a683"},"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":"14/Jun/2024:15:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/090f0166-e6bb-4f29-9a4a-81a61b866627? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24d8e9fcb44a824acf12dd6ceb22a683"} device-1 | {"level":"info","message":"GET /devices/090f0166-e6bb-4f29-9a4a-81a61b866627? 200 23ms","method":"GET","requestID":"24d8e9fcb44a824acf12dd6ceb22a683","responseTime":23,"status":200,"url":"/devices/090f0166-e6bb-4f29-9a4a-81a61b866627?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b4d0d9869a4b4b15b1d7556a156436f6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.446765,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4d0d9869a4b4b15b1d7556a156436f6"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.643834472Z"}]},"request_id":"70c86699-f2b6-466e-9635-6e454c2edabf","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.7377317} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4d0d9869a4b4b15b1d7556a156436f6"},"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":"14/Jun/2024:15:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e982c928-3abf-40f0-bbfa-2206d27fa406? 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":"b4d0d9869a4b4b15b1d7556a156436f6"} device-1 | {"level":"info","message":"GET /devices/e982c928-3abf-40f0-bbfa-2206d27fa406? 200 21ms","method":"GET","requestID":"b4d0d9869a4b4b15b1d7556a156436f6","responseTime":21,"status":200,"url":"/devices/e982c928-3abf-40f0-bbfa-2206d27fa406?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"34c8edf05b077599d965b518cafdbdca","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:44380","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.996777,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} 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":"34c8edf05b077599d965b518cafdbdca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"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:44380","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.440944,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} 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":"73fd8930-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616454,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73fdb040-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.593100830Z"}]},"request_id":"978537a9-5c73-4d87-ba35-2b33efc401b3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.8127398} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73fd8930-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.643834472Z"}]},"request_id":"e7ed8232-8dec-429d-b9b8-07e0d795023c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.8142416} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73fdb040-2a5f-11ef-8ed1-011028b23f76"},"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/090f0166-e6bb-4f29-9a4a-81a61b866627? 200 18ms","method":"GET","requestID":"73fd8930-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/090f0166-e6bb-4f29-9a4a-81a61b866627?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e982c928-3abf-40f0-bbfa-2206d27fa406? 200 18ms","method":"GET","requestID":"73fdb040-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/e982c928-3abf-40f0-bbfa-2206d27fa406?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"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/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.104154,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} 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":"74094900-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759221,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} 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":"74099720-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.593100830Z"}]},"request_id":"e61819e8-9d0c-449f-b5ac-c2ac96ce80eb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.8955626} 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":"74094900-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.643834472Z"}]},"request_id":"a5b8f2e2-730f-4c29-9342-b5925d7b5d60","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.8970613} 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":"74099720-2a5f-11ef-8ed1-011028b23f76"},"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/090f0166-e6bb-4f29-9a4a-81a61b866627? 200 27ms","method":"GET","requestID":"74094900-2a5f-11ef-8ed1-011028b23f76","responseTime":27,"status":200,"url":"/devices/090f0166-e6bb-4f29-9a4a-81a61b866627?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4a7f1b5-c696-4850-944c-7cbf0f8ca407#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4a7f1b5-c696-4850-944c-7cbf0f8ca407","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"080fb7b5-9e62-4a40-ace5-c840785198ae","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.906995} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e982c928-3abf-40f0-bbfa-2206d27fa406? 200 26ms","method":"GET","requestID":"74099720-2a5f-11ef-8ed1-011028b23f76","responseTime":26,"status":200,"url":"/devices/e982c928-3abf-40f0-bbfa-2206d27fa406?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71b9a2ce-525d-493b-8a17-e11c0080890a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.9075606} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34c8edf05b077599d965b518cafdbdca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.160786,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","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":"740ddce0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"34c8edf05b077599d965b518cafdbdca","responseTime":169,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34c8edf05b077599d965b518cafdbdca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/090f0166-e6bb-4f29-9a4a-81a61b866627/signaling 200 12ms","method":"POST","requestID":"740ddce0-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/devices/090f0166-e6bb-4f29-9a4a-81a61b866627/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"117d90e8b7c638b52e7dec4b50baee55","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.112586,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","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":"74104de0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.193414,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} device-1 | {"level":"info","message":"POST /devices/e982c928-3abf-40f0-bbfa-2206d27fa406/signaling 200 12ms","method":"POST","requestID":"74104de0-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/devices/e982c928-3abf-40f0-bbfa-2206d27fa406/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/090f0166-e6bb-4f29-9a4a-81a61b866627","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"117d90e8b7c638b52e7dec4b50baee55"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"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":"f0fffeb8-f3d4-4bc4-b136-577a434e574c"},{"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":"f2063c99-2a25-4750-b2df-056cbcc23cfa"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0a2a6697-5515-40c2-98e0-c83959fb09d4"}]},"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/e982c928-3abf-40f0-bbfa-2206d27fa406"},{"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/090f0166-e6bb-4f29-9a4a-81a61b866627"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F090f0166-e6bb-4f29-9a4a-81a61b866627","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.593100830Z"}]},"request_id":"7bbeaeac-3674-48bc-bc09-78453fcc0162","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.9421878} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"117d90e8b7c638b52e7dec4b50baee55"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.809031,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/090f0166-e6bb-4f29-9a4a-81a61b866627? 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":"117d90e8b7c638b52e7dec4b50baee55"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} device-1 | {"level":"info","message":"GET /devices/090f0166-e6bb-4f29-9a4a-81a61b866627? 200 15ms","method":"GET","requestID":"117d90e8b7c638b52e7dec4b50baee55","responseTime":15,"status":200,"url":"/devices/090f0166-e6bb-4f29-9a4a-81a61b866627?"} 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":"7412bee0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6615eff27a8d4244c7113e8f3b0ee028","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832494,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377492,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Mn0.JIYidJ-tPYn1hpyo3nSK2m_CoYcEFvT4iLIkLEu6Shk"} 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":"6615eff27a8d4244c7113e8f3b0ee028"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"2f9c04d9-2587-4195-adaa-5b7d7f54a895","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.9587514} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02e6c3fc-ba89-4a0c-8c7c-78e6c40550ef","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.959167} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7412bee0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe982c928-3abf-40f0-bbfa-2206d27fa406","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:50.643834472Z"}]},"request_id":"c0eae714-a5d3-47df-a676-09ee86b9f1c5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377492.9646282} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6615eff27a8d4244c7113e8f3b0ee028"},"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/49fc2efd-a980-4a24-b35c-92985ea801ff'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"7412bee0-2a5f-11ef-8ed1-011028b23f76","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e982c928-3abf-40f0-bbfa-2206d27fa406? 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":"6615eff27a8d4244c7113e8f3b0ee028"} device-1 | {"level":"info","message":"GET /devices/e982c928-3abf-40f0-bbfa-2206d27fa406? 200 23ms","method":"GET","requestID":"6615eff27a8d4244c7113e8f3b0ee028","responseTime":23,"status":200,"url":"/devices/e982c928-3abf-40f0-bbfa-2206d27fa406?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"49fc2efd-a980-4a24-b35c-92985ea801ff","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49fc2efd-a980-4a24-b35c-92985ea801ff","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":"20ca61622aa8eeef676f2902ed6073af","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406"},{"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/090f0166-e6bb-4f29-9a4a-81a61b866627"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"20ca61622aa8eeef676f2902ed6073af","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"20ca61622aa8eeef676f2902ed6073af"} device-1 | {"data":{"peerconnection":"49fc2efd-a980-4a24-b35c-92985ea801ff","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"49fc2efd-a980-4a24-b35c-92985ea801ff","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49fc2efd-a980-4a24-b35c-92985ea801ff","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":"162fad228c36a221c880119283f2b5ee","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406"},{"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/090f0166-e6bb-4f29-9a4a-81a61b866627"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49fc2efd-a980-4a24-b35c-92985ea801ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c9d123a-363a-458a-a32e-6af27116ee28","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.1015656} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.274994,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff","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":"742a1770-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff 200 11ms","method":"GET","requestID":"742a1770-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"162fad228c36a221c880119283f2b5ee","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"162fad228c36a221c880119283f2b5ee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c637595527443606bb893473dccf554a","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.361231,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377493,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y"} 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":"c637595527443606bb893473dccf554a"},"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/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"} experiment-1 | {"level":"info","message":"GET /experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407 200 16ms","method":"GET","requestID":"c637595527443606bb893473dccf554a","responseTime":16,"status":200,"url":"/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"} gateway-1 | {"time_local":"14/Jun/2024:15:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c637595527443606bb893473dccf554a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fcc93f182599ea3281429385539c8b5a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.351516,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377493,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"fcc93f182599ea3281429385539c8b5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.193076,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377493,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"743e14a0-2a5f-11ef-8ed1-011028b23f76"},"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/49fc2efd-a980-4a24-b35c-92985ea801ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"49fc2efd-a980-4a24-b35c-92985ea801ff","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 2ms","method":"GET","requestID":"b6b93a3ed3c5710245093cc31edbdb41","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49fc2efd-a980-4a24-b35c-92985ea801ff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F49fc2efd-a980-4a24-b35c-92985ea801ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"a8495dfd-7e99-4caa-ac95-3ff2c84b8a03","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.2528226} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44865668-0cc5-4d9d-b6f4-638abe22a2f2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.2538552} 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/e982c928-3abf-40f0-bbfa-2206d27fa406"},{"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/090f0166-e6bb-4f29-9a4a-81a61b866627"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"80be0c28456a30b4a94e73b17f004c55","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406"},{"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/090f0166-e6bb-4f29-9a4a-81a61b866627"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"743e14a0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"data":{"peerconnection":"49fc2efd-a980-4a24-b35c-92985ea801ff","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/49fc2efd-a980-4a24-b35c-92985ea801ff 204 48ms","method":"DELETE","requestID":"743e14a0-2a5f-11ef-8ed1-011028b23f76","responseTime":48,"status":204,"url":"/peerconnections/49fc2efd-a980-4a24-b35c-92985ea801ff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4a7f1b5-c696-4850-944c-7cbf0f8ca407': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4a7f1b5-c696-4850-944c-7cbf0f8ca407","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"77a057f9-2bee-4033-9320-21fe5a0d9d68","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.311726} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99c74e40-7145-4005-bb7d-62fd332775b7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.3118553} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcc93f182599ea3281429385539c8b5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"} gateway-1 | {"time_local":"14/Jun/2024:15:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcc93f182599ea3281429385539c8b5a"} gateway-1 | {"time_local":"14/Jun/2024:15:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1680","request_time":"2.210","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"474c34ed864e4f2da8a4fa91df5ad66c"} experiment-1 | {"level":"info","message":"DELETE /experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407 204 173ms","method":"DELETE","requestID":"fcc93f182599ea3281429385539c8b5a","responseTime":173,"status":204,"url":"/experiments/f4a7f1b5-c696-4850-944c-7cbf0f8ca407"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"b6b93a3ed3c5710245093cc31edbdb41","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6b93a3ed3c5710245093cc31edbdb41"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"80be0c28456a30b4a94e73b17f004c55","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"80be0c28456a30b4a94e73b17f004c55"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0cbefaf323f787ea3082cbc1eb0d4c76","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:53Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"0.725","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"04adee675281208d8796d0c21959dbf3"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.750568,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377493,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cbefaf323f787ea3082cbc1eb0d4c76"},"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/090f0166-e6bb-4f29-9a4a-81a61b866627' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f1b0a0d3-9c15-4ec8-ac8d-46f9555a77cc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.41642} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cbefaf323f787ea3082cbc1eb0d4c76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e982c928-3abf-40f0-bbfa-2206d27fa406' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23cf7a80-e9c7-4b9d-9189-f277e4660723","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.4220839} 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":"0cbefaf323f787ea3082cbc1eb0d4c76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"94e681e4-8cd6-4f24-b6aa-61df2d21baca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.4314737} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e26be96-a44a-4d19-b2d9-5f01d7536462","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.4316304} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cbefaf323f787ea3082cbc1eb0d4c76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.431455479Z"}]},"request_id":"209e07e8-22ad-480a-a326-b73ad90eaf94","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.436128} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cbefaf323f787ea3082cbc1eb0d4c76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"0cbefaf323f787ea3082cbc1eb0d4c76","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0cbefaf323f787ea3082cbc1eb0d4c76"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f1fb553b6b29f3a7c00a350e87b8b37b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.761612,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377493,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1fb553b6b29f3a7c00a350e87b8b37b"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1768a606-0b1e-4d43-9bef-fc1defedd1f3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.4660685} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1fb553b6b29f3a7c00a350e87b8b37b"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33fb1dba-a7ae-4eca-9727-a2247b7b8d3d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.4711123} 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":"f1fb553b6b29f3a7c00a350e87b8b37b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"acc49d6a-64e2-4669-aaf7-98b240da306e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.482723} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9698e423-06da-4eaf-ba08-849410833a72","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.4828067} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1fb553b6b29f3a7c00a350e87b8b37b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.482699244Z"}]},"request_id":"13afafc3-aa9a-4d0a-8895-86e3f6d1d0e5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.4880142} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1fb553b6b29f3a7c00a350e87b8b37b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"f1fb553b6b29f3a7c00a350e87b8b37b","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1fb553b6b29f3a7c00a350e87b8b37b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5bc84b1153f23e191808bdf0bc93709b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707474,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377493,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bc84b1153f23e191808bdf0bc93709b"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.431455479Z"}]},"request_id":"c3df8173-a9dc-443e-8b25-848b86bcbec6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.955242} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bc84b1153f23e191808bdf0bc93709b"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41d01094-04a2-4332-9c00-c098a5ba56d7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.9596627} 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":"5bc84b1153f23e191808bdf0bc93709b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.431455479Z"}]},"request_id":"71340a05-b685-4cba-9421-adca20f204f6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377493.9728172} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bc84b1153f23e191808bdf0bc93709b"},"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b 200 30ms","method":"PATCH","requestID":"5bc84b1153f23e191808bdf0bc93709b","responseTime":30,"status":200,"url":"/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b"} gateway-1 | {"time_local":"14/Jun/2024:15:04:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5bc84b1153f23e191808bdf0bc93709b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"44fec5ee1d72f774b922d42fc455efb9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.385478,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377493,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5M30.MDK44qQI9VkbT6SdBOlE117gyCSLH9DoKxd0bX3A7-Y"} 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":"44fec5ee1d72f774b922d42fc455efb9"},"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b/websocket 200 23ms","method":"POST","requestID":"44fec5ee1d72f774b922d42fc455efb9","responseTime":23,"status":200,"url":"/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:04:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"44fec5ee1d72f774b922d42fc455efb9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b' 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":"6ef3322e88c88a9eb8a59043c1c28b30","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048/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":"6ef3322e88c88a9eb8a59043c1c28b30"} device-1 | {"level":"info","message":"OPTIONS /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048/websocket 200 1ms","method":"OPTIONS","requestID":"6ef3322e88c88a9eb8a59043c1c28b30","responseTime":1,"status":200,"url":"/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"86245b82d9771b5e315eebb287a94069","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.303922,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"86245b82d9771b5e315eebb287a94069"},"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":"14/Jun/2024:15:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"86245b82d9771b5e315eebb287a94069"} device-1 | {"level":"info","message":"POST /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048/websocket 200 24ms","method":"POST","requestID":"86245b82d9771b5e315eebb287a94069","responseTime":24,"status":200,"url":"/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c5daaf43ad6e12d4f6c71b72aaf2751b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065168,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"c5daaf43ad6e12d4f6c71b72aaf2751b"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.431455479Z"}]},"request_id":"92ac6622-d632-44b4-93cb-4901393e8c07","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.5547965} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5daaf43ad6e12d4f6c71b72aaf2751b"},"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b? 200 17ms","method":"GET","requestID":"c5daaf43ad6e12d4f6c71b72aaf2751b","responseTime":17,"status":200,"url":"/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b? 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":"c5daaf43ad6e12d4f6c71b72aaf2751b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cb485f0e60140da11b720dea399dec6a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24086,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"cb485f0e60140da11b720dea399dec6a"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.482699244Z"}]},"request_id":"a35590a2-4cb3-4136-a631-123d62a825dd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.5820851} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb485f0e60140da11b720dea399dec6a"},"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":"14/Jun/2024:15:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048? 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":"cb485f0e60140da11b720dea399dec6a"} device-1 | {"level":"info","message":"GET /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048? 200 18ms","method":"GET","requestID":"cb485f0e60140da11b720dea399dec6a","responseTime":18,"status":200,"url":"/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"43a653a6b42e5335586a390ef52320e2","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:44380","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.169449,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"43a653a6b42e5335586a390ef52320e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"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:44380","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.800896,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"75ae6d80-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984251,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"75aee2b0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.431455479Z"}]},"request_id":"17bbd809-55c2-48e4-8fbb-31c42e72d503","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.6592817} 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":"75ae6d80-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.482699244Z"}]},"request_id":"febf7f9d-3c50-412a-9d63-c961e5864098","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.6610608} 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":"75aee2b0-2a5f-11ef-8ed1-011028b23f76"},"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b? 200 29ms","method":"GET","requestID":"75ae6d80-2a5f-11ef-8ed1-011028b23f76","responseTime":29,"status":200,"url":"/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048? 200 27ms","method":"GET","requestID":"75aee2b0-2a5f-11ef-8ed1-011028b23f76","responseTime":27,"status":200,"url":"/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"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/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73132,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75bb17b0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684397,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"75bb65d0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.431455479Z"}]},"request_id":"67d9c910-ec98-4637-b075-a22478feb06b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.7362583} 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":"75bb17b0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.482699244Z"}]},"request_id":"117449f3-138a-44a8-819f-6107ccdc99c1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.738559} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75bb65d0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b? 200 23ms","method":"GET","requestID":"75bb17b0-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048? 200 23ms","method":"GET","requestID":"75bb65d0-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfcfe7ab-b8ca-4555-97b0-b96ff943a386#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfcfe7ab-b8ca-4555-97b0-b96ff943a386","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"3d5f0e6d-c21f-4aaf-832f-75aae79667d1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.7482429} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7626c6d3-4d23-4446-960e-08aeac8d74b0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.7486544} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43a653a6b42e5335586a390ef52320e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.103495,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","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":"75bf5d70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b/signaling 200 11ms","method":"POST","requestID":"75bf5d70-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b/signaling"} gateway-1 | {"time_local":"14/Jun/2024:15:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43a653a6b42e5335586a390ef52320e2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"43a653a6b42e5335586a390ef52320e2","responseTime":165,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b1fe1ee0d060fed8a6fe52ede6fa5e4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.749004,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","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":"75c1a760-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.461309,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} device-1 | {"level":"info","message":"POST /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048/signaling 200 12ms","method":"POST","requestID":"75c1a760-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"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":"948d6865-a88d-4aba-8f52-3bed8deabe8c"},{"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":"38a54cbb-9969-4ede-bf40-6ce7a7e855dd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"630da97e-766a-4026-b760-7769cd1cca2a"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b1fe1ee0d060fed8a6fe52ede6fa5e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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/bf44e468-9695-4c9f-b5f1-ca96df4b2048"},{"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F232ae011-a498-4634-b0d0-f4fc5ddbed5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.431455479Z"}]},"request_id":"4a8a6d5f-7507-495d-b65b-e41356332a8a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.784292} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b1fe1ee0d060fed8a6fe52ede6fa5e4"},"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:44380","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.468411,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} gateway-1 | {"time_local":"14/Jun/2024:15:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b? 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":"1b1fe1ee0d060fed8a6fe52ede6fa5e4"} device-1 | {"level":"info","message":"GET /devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b? 200 18ms","method":"GET","requestID":"1b1fe1ee0d060fed8a6fe52ede6fa5e4","responseTime":18,"status":200,"url":"/devices/232ae011-a498-4634-b0d0-f4fc5ddbed5b?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"75c43f70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"96f3e453dcae4c705a0516d5314ee62a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"f0a1d05e-d1ba-4e2e-b3da-4bdc15783726","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.7988842} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79f92ca5-dcfd-47db-b552-c096d8af5902","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.7993758} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.429392,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75c43f70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377495,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5NX0.RWyRtr3vqhvYVXp9GbVIOTe-3Hopd3qZYkaVUAMQSdA"} 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":"96f3e453dcae4c705a0516d5314ee62a"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf44e468-9695-4c9f-b5f1-ca96df4b2048","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:53.482699244Z"}]},"request_id":"edb1cd1c-c17f-4246-a02c-2e6d4ac14b6d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.8081937} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96f3e453dcae4c705a0516d5314ee62a"},"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/f4050307-5005-4c3c-bded-c093b641c7c8'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"75c43f70-2a5f-11ef-8ed1-011028b23f76","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96f3e453dcae4c705a0516d5314ee62a"} device-1 | {"level":"info","message":"GET /devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048? 200 26ms","method":"GET","requestID":"96f3e453dcae4c705a0516d5314ee62a","responseTime":26,"status":200,"url":"/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"f4050307-5005-4c3c-bded-c093b641c7c8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4050307-5005-4c3c-bded-c093b641c7c8","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":"e220db12ecd21049e653dedac87cd2fb","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/bf44e468-9695-4c9f-b5f1-ca96df4b2048"},{"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"e220db12ecd21049e653dedac87cd2fb","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"e220db12ecd21049e653dedac87cd2fb"} device-1 | {"data":{"peerconnection":"f4050307-5005-4c3c-bded-c093b641c7c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f4050307-5005-4c3c-bded-c093b641c7c8","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4050307-5005-4c3c-bded-c093b641c7c8","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":"6eb4595e5b31e324771fa8707bd13e62","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/bf44e468-9695-4c9f-b5f1-ca96df4b2048"},{"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4050307-5005-4c3c-bded-c093b641c7c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63d476b6-6295-486d-924e-c51513a608c2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377495.9563415} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.35743,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8","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":"75ddbae0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8 200 12ms","method":"GET","requestID":"75ddbae0-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"6eb4595e5b31e324771fa8707bd13e62","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"6eb4595e5b31e324771fa8707bd13e62"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8ec069ad2b5358e2ef43cccaba45aa58","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.273564,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"8ec069ad2b5358e2ef43cccaba45aa58"},"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/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"} experiment-1 | {"level":"info","message":"GET /experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386 200 19ms","method":"GET","requestID":"8ec069ad2b5358e2ef43cccaba45aa58","responseTime":19,"status":200,"url":"/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ec069ad2b5358e2ef43cccaba45aa58"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f674f9c207568121d92fa7df971b04b2","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.176463,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"f674f9c207568121d92fa7df971b04b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.170704,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"75f2f090-2a5f-11ef-8ed1-011028b23f76"},"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/f4050307-5005-4c3c-bded-c093b641c7c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4050307-5005-4c3c-bded-c093b641c7c8","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)"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4050307-5005-4c3c-bded-c093b641c7c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4050307-5005-4c3c-bded-c093b641c7c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"14615464-938e-4824-82f4-27444efb2171","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.1146326} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4076e45-141c-4a73-aec5-8d4e0c2fa305","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.1151595} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8f0e7810b5928c3825076449f4b4e274","responseTime":3,"status":200,"url":"/auth"} 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":"75f2f090-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} 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/bf44e468-9695-4c9f-b5f1-ca96df4b2048"},{"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8"}}},"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 3ms","method":"GET","requestID":"291bc502a78eb75a7ccffddf9f6e6ecb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048"},{"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"f4050307-5005-4c3c-bded-c093b641c7c8","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/f4050307-5005-4c3c-bded-c093b641c7c8 204 50ms","method":"DELETE","requestID":"75f2f090-2a5f-11ef-8ed1-011028b23f76","responseTime":50,"status":204,"url":"/peerconnections/f4050307-5005-4c3c-bded-c093b641c7c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfcfe7ab-b8ca-4555-97b0-b96ff943a386': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfcfe7ab-b8ca-4555-97b0-b96ff943a386","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"7c0dd67c-834d-47af-b97b-889a45dd3e98","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.1778636} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29dcf6cf-4e4a-40f1-a235-adf0f3190957","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.178138} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f674f9c207568121d92fa7df971b04b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f674f9c207568121d92fa7df971b04b2"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1680","request_time":"2.234","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d73830d720c10c531dc4b5fe6264d3ca"} experiment-1 | {"level":"info","message":"DELETE /experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386 204 171ms","method":"DELETE","requestID":"f674f9c207568121d92fa7df971b04b2","responseTime":171,"status":204,"url":"/experiments/dfcfe7ab-b8ca-4555-97b0-b96ff943a386"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"8f0e7810b5928c3825076449f4b4e274","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f0e7810b5928c3825076449f4b4e274"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"291bc502a78eb75a7ccffddf9f6e6ecb","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"291bc502a78eb75a7ccffddf9f6e6ecb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"013b15faee8a34f2607067f321169b3d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"0.735","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e827f57c95fb8183d939c4d7f95cb505"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.930167,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"013b15faee8a34f2607067f321169b3d"},"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/232ae011-a498-4634-b0d0-f4fc5ddbed5b' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ac958ed6-ab89-4c25-801a-93d89cc5e181","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.2754087} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"013b15faee8a34f2607067f321169b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bf44e468-9695-4c9f-b5f1-ca96df4b2048' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"175fcbdb-2b3d-413a-8fb4-018cef36c6e8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.282638} 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":"013b15faee8a34f2607067f321169b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"7691ad41-8bbf-4629-9062-0d0b2ffe221d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.2941136} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63bfadb4-d3be-4605-8afd-c4273d2e3b67","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.2943504} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"013b15faee8a34f2607067f321169b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.294093566Z"}]},"request_id":"ae5fb5da-fcc3-40da-8ada-54189a897dfe","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.3009853} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"013b15faee8a34f2607067f321169b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"013b15faee8a34f2607067f321169b3d"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"013b15faee8a34f2607067f321169b3d","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"745e5d6b2ab431e81910c98271b4200c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.893255,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"745e5d6b2ab431e81910c98271b4200c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4f4563ec-b503-4855-b6f7-b99f0b0b2de5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.3280902} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"745e5d6b2ab431e81910c98271b4200c"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf727456-8d3e-4da1-bbd4-9393f38a58b4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.3329291} 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":"745e5d6b2ab431e81910c98271b4200c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"15963e07-3cbf-4466-82a7-7b1f739988d7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.3487368} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0b3018a-f3dd-4ff2-9522-45de4639e544","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.3489616} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"745e5d6b2ab431e81910c98271b4200c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.348710102Z"}]},"request_id":"de2f39ea-523b-4c89-9642-63b4ecccc7b7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.3527017} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"745e5d6b2ab431e81910c98271b4200c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"745e5d6b2ab431e81910c98271b4200c"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"745e5d6b2ab431e81910c98271b4200c","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8222d42e45c6ea401e88b46c5fd7396c","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74af1388f94bc9c831fdafe52a9ec0d1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65369,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8222d42e45c6ea401e88b46c5fd7396c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64211,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"74af1388f94bc9c831fdafe52a9ec0d1"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.294093566Z"}]},"request_id":"09b73960-e242-4de7-8896-0d2cd7f37566","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.8206656} 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":"8222d42e45c6ea401e88b46c5fd7396c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.348710102Z"}]},"request_id":"32cd5a87-bef8-4e6d-8a57-8cdaaddc3fbb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.8221693} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74af1388f94bc9c831fdafe52a9ec0d1"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0466d22e-5408-42de-a9c6-6a505237d8f1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.8281834} 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":"8222d42e45c6ea401e88b46c5fd7396c"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e316992c-6238-42e7-9185-ef2c6c638e38","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.8310637} 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":"74af1388f94bc9c831fdafe52a9ec0d1"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.348710102Z"}]},"request_id":"4e4ad15e-fe7e-47ac-ac40-62be46e25f64","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.8367097} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74af1388f94bc9c831fdafe52a9ec0d1"},"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":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/991042ee-81c4-4833-8896-77c5edaa66bd HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"74af1388f94bc9c831fdafe52a9ec0d1"} device-1 | {"level":"info","message":"PATCH /devices/991042ee-81c4-4833-8896-77c5edaa66bd 200 33ms","method":"PATCH","requestID":"74af1388f94bc9c831fdafe52a9ec0d1","responseTime":33,"status":200,"url":"/devices/991042ee-81c4-4833-8896-77c5edaa66bd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d1ac1495a62efdff5e957e1eb35e0d86","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.294093566Z"}]},"request_id":"7ec20c74-617a-44db-932b-0197be53bbb0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.8470323} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8222d42e45c6ea401e88b46c5fd7396c"},"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:44380","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786862,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8222d42e45c6ea401e88b46c5fd7396c"} device-1 | {"level":"info","message":"PATCH /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2 200 44ms","method":"PATCH","requestID":"8222d42e45c6ea401e88b46c5fd7396c","responseTime":44,"status":200,"url":"/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1ac1495a62efdff5e957e1eb35e0d86"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0915420646bce3919a2993803ef6e314","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75065,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0915420646bce3919a2993803ef6e314"},"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/991042ee-81c4-4833-8896-77c5edaa66bd/websocket 200 16ms","method":"POST","requestID":"d1ac1495a62efdff5e957e1eb35e0d86","responseTime":16,"status":200,"url":"/devices/991042ee-81c4-4833-8896-77c5edaa66bd/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/991042ee-81c4-4833-8896-77c5edaa66bd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d1ac1495a62efdff5e957e1eb35e0d86"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2/websocket 200 15ms","method":"POST","requestID":"0915420646bce3919a2993803ef6e314","responseTime":15,"status":200,"url":"/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0915420646bce3919a2993803ef6e314"} device-1 | {"level":"info","message":"device 'http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0f6affa194b1f8dd59bf203f623679ee","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638207,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f6affa194b1f8dd59bf203f623679ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.294093566Z"}]},"request_id":"aa81489c-50a6-4a9d-87a3-6212012cd62c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.905847} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f6affa194b1f8dd59bf203f623679ee"},"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":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2? 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":"0f6affa194b1f8dd59bf203f623679ee"} device-1 | {"level":"info","message":"GET /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2? 200 12ms","method":"GET","requestID":"0f6affa194b1f8dd59bf203f623679ee","responseTime":12,"status":200,"url":"/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fd54caf6026744de08d7eb29585f7676","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.903512,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"fd54caf6026744de08d7eb29585f7676"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.348710102Z"}]},"request_id":"da6e7718-1ad1-4e1c-9722-dd80261bda37","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.9272346} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd54caf6026744de08d7eb29585f7676"},"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":"14/Jun/2024:15:04:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/991042ee-81c4-4833-8896-77c5edaa66bd? 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":"fd54caf6026744de08d7eb29585f7676"} device-1 | {"level":"info","message":"GET /devices/991042ee-81c4-4833-8896-77c5edaa66bd? 200 14ms","method":"GET","requestID":"fd54caf6026744de08d7eb29585f7676","responseTime":14,"status":200,"url":"/devices/991042ee-81c4-4833-8896-77c5edaa66bd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"79992b3b6ca9eabb85f89c2976bfa9d7","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:44380","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.703915,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79992b3b6ca9eabb85f89c2976bfa9d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"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:44380","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702046,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7679acc0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194797,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7679d3d0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.294093566Z"}]},"request_id":"a8756197-fbe0-4a4c-b668-3b1446464413","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.9816513} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7679acc0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.348710102Z"}]},"request_id":"39553d19-c57e-4626-8e6c-c27b4f4a908c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377496.9829168} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7679d3d0-2a5f-11ef-8ed1-011028b23f76"},"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/3709d193-5fbd-4881-84e8-ea1c9b06b2a2? 200 15ms","method":"GET","requestID":"7679acc0-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/991042ee-81c4-4833-8896-77c5edaa66bd? 200 15ms","method":"GET","requestID":"7679d3d0-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/991042ee-81c4-4833-8896-77c5edaa66bd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"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/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728279,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"768370c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146966,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"7683bee0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.294093566Z"}]},"request_id":"09ea2566-ae67-47be-bc63-aa3250d3ae5f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.0494366} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"768370c0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.348710102Z"}]},"request_id":"cd4b2836-658e-4b2b-9173-75fbd1a94ed7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.0510836} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7683bee0-2a5f-11ef-8ed1-011028b23f76"},"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/3709d193-5fbd-4881-84e8-ea1c9b06b2a2? 200 18ms","method":"GET","requestID":"768370c0-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/991042ee-81c4-4833-8896-77c5edaa66bd? 200 18ms","method":"GET","requestID":"7683bee0-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/991042ee-81c4-4833-8896-77c5edaa66bd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.124622,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","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 8ms","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":"7686cc20-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2a70817a-9a0e-4c33-996e-880fa36d300a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2a70817a-9a0e-4c33-996e-880fa36d300a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"807c0c9f-25a4-488a-bd60-623cb2a25f7b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.067652} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c23347db-bc3a-4e73-be8c-449171d2a04e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.0679224} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79992b3b6ca9eabb85f89c2976bfa9d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"POST /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2/signaling 200 14ms","method":"POST","requestID":"7686cc20-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"79992b3b6ca9eabb85f89c2976bfa9d7","responseTime":148,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79992b3b6ca9eabb85f89c2976bfa9d7"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.805865,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","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":"7689d960-2a5f-11ef-8ed1-011028b23f76"},"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/991042ee-81c4-4833-8896-77c5edaa66bd/signaling 200 11ms","method":"POST","requestID":"7689d960-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/991042ee-81c4-4833-8896-77c5edaa66bd/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU","level":"info","message":"auth send jwt"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"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":"540deb10-f520-4f96-94c6-34afd4a07d4a"},{"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":"ea5ccbea-d351-4e94-ad76-3eba4a8ff7ce"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8be6c26b-0da1-4019-82e7-63c76d43a684"}]},"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/3709d193-5fbd-4881-84e8-ea1c9b06b2a2"},{"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/991042ee-81c4-4833-8896-77c5edaa66bd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e2a7e198d7b5bb64dcb574efefac1b48","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.118196,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377497,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2a7e198d7b5bb64dcb574efefac1b48"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.917793,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377496,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5Nn0.bVgeaaumAL3xnsXiEW2FNJBkQ4g7Uk9G4f7EhFvz9gA"} 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":"768c2350-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3709d193-5fbd-4881-84e8-ea1c9b06b2a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.294093566Z"}]},"request_id":"f04a3c74-8b76-4673-a408-f13479c8bd92","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.1023617} 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":"e2a7e198d7b5bb64dcb574efefac1b48"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2a7e198d7b5bb64dcb574efefac1b48"} device-1 | {"level":"info","message":"GET /devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2? 200 22ms","method":"GET","requestID":"e2a7e198d7b5bb64dcb574efefac1b48","responseTime":22,"status":200,"url":"/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"11e56328-2c1b-40ad-8f0f-64b9009167c2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.114885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d793334a-b6a4-43b2-ae56-9ab34bb9eca2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.1151161} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b177777da60966c2553562a1ff04c295","responseTime":2,"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":"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":"768c2350-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688975,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/991042ee-81c4-4833-8896-77c5edaa66bd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377497,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU"} 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/0ba1f6e8-1532-4657-8044-ecdb7d92eb72'"} 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":"b177777da60966c2553562a1ff04c295"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"768c2350-2a5f-11ef-8ed1-011028b23f76","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F991042ee-81c4-4833-8896-77c5edaa66bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:56.348710102Z"}]},"request_id":"3374b569-8acb-49a2-af50-895f5b702971","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.1329136} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b177777da60966c2553562a1ff04c295"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/991042ee-81c4-4833-8896-77c5edaa66bd? 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":"b177777da60966c2553562a1ff04c295"} device-1 | {"level":"info","message":"GET /devices/991042ee-81c4-4833-8896-77c5edaa66bd? 200 19ms","method":"GET","requestID":"b177777da60966c2553562a1ff04c295","responseTime":19,"status":200,"url":"/devices/991042ee-81c4-4833-8896-77c5edaa66bd?"} device-1 | {"data":{"peerconnection":"0ba1f6e8-1532-4657-8044-ecdb7d92eb72","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"0ba1f6e8-1532-4657-8044-ecdb7d92eb72","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/0ba1f6e8-1532-4657-8044-ecdb7d92eb72' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ba1f6e8-1532-4657-8044-ecdb7d92eb72","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":"301be352a6050c863181ebb49ecc8f22","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3709d193-5fbd-4881-84e8-ea1c9b06b2a2"},{"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/991042ee-81c4-4833-8896-77c5edaa66bd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"301be352a6050c863181ebb49ecc8f22","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"301be352a6050c863181ebb49ecc8f22"} device-1 | {"data":{"peerconnection":"0ba1f6e8-1532-4657-8044-ecdb7d92eb72","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0ba1f6e8-1532-4657-8044-ecdb7d92eb72","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ba1f6e8-1532-4657-8044-ecdb7d92eb72","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":"2896951e1569011d799f74c15188f27c","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/3709d193-5fbd-4881-84e8-ea1c9b06b2a2"},{"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/991042ee-81c4-4833-8896-77c5edaa66bd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ba1f6e8-1532-4657-8044-ecdb7d92eb72","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2e73655-2929-4645-b7e5-e4795a2a8d37","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.2163377} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.685286,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"769e4bc0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72 200 7ms","method":"GET","requestID":"769e4bc0-2a5f-11ef-8ed1-011028b23f76","responseTime":7,"status":200,"url":"/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"2896951e1569011d799f74c15188f27c","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"2896951e1569011d799f74c15188f27c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2cffbc40038018a8b194b519aa5d0837","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.17419,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377497,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU"} 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":"2cffbc40038018a8b194b519aa5d0837"},"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/2a70817a-9a0e-4c33-996e-880fa36d300a"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2a70817a-9a0e-4c33-996e-880fa36d300a HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cffbc40038018a8b194b519aa5d0837"} experiment-1 | {"level":"info","message":"GET /experiments/2a70817a-9a0e-4c33-996e-880fa36d300a 200 16ms","method":"GET","requestID":"2cffbc40038018a8b194b519aa5d0837","responseTime":16,"status":200,"url":"/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b90c5754339bac180409e8853d8365d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.334493,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377497,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU"} 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":"0b90c5754339bac180409e8853d8365d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.570067,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377497,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU"} 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":"76b27000-2a5f-11ef-8ed1-011028b23f76"},"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/0ba1f6e8-1532-4657-8044-ecdb7d92eb72' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ba1f6e8-1532-4657-8044-ecdb7d92eb72","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":"99626cf269660557d21cd4c6b7821e7f","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":"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/3709d193-5fbd-4881-84e8-ea1c9b06b2a2"},{"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/991042ee-81c4-4833-8896-77c5edaa66bd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"799b0f9998e031f641877b6f856938c3","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ba1f6e8-1532-4657-8044-ecdb7d92eb72': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ba1f6e8-1532-4657-8044-ecdb7d92eb72","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"89af50b5-e4ec-419f-9eea-1902cccd7227","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.3763204} 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/3709d193-5fbd-4881-84e8-ea1c9b06b2a2"},{"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/991042ee-81c4-4833-8896-77c5edaa66bd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72"}}},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aca71729-5c34-49c4-ac44-173e86c51003","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.3768058} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76b27000-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"0ba1f6e8-1532-4657-8044-ecdb7d92eb72","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/0ba1f6e8-1532-4657-8044-ecdb7d92eb72 204 52ms","method":"DELETE","requestID":"76b27000-2a5f-11ef-8ed1-011028b23f76","responseTime":52,"status":204,"url":"/peerconnections/0ba1f6e8-1532-4657-8044-ecdb7d92eb72"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2a70817a-9a0e-4c33-996e-880fa36d300a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2a70817a-9a0e-4c33-996e-880fa36d300a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"2f64e83c-820f-40c5-9cae-c2e5f8f71543","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.4313989} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc5a7d73-8772-4eb0-8684-b7e77c66b3be","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.4318922} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b90c5754339bac180409e8853d8365d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2a70817a-9a0e-4c33-996e-880fa36d300a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b90c5754339bac180409e8853d8365d"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"0.626","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"22e025059aac2f50e44aa78d2354c788"} experiment-1 | {"level":"info","message":"DELETE /experiments/2a70817a-9a0e-4c33-996e-880fa36d300a 204 170ms","method":"DELETE","requestID":"0b90c5754339bac180409e8853d8365d","responseTime":170,"status":204,"url":"/experiments/2a70817a-9a0e-4c33-996e-880fa36d300a"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"0.635","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fc3deb331cae714a3e5646ddbb88ee02"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"99626cf269660557d21cd4c6b7821e7f","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"99626cf269660557d21cd4c6b7821e7f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"799b0f9998e031f641877b6f856938c3","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"799b0f9998e031f641877b6f856938c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6bd4f4468bffa0ad72dde9358cb766af","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/991042ee-81c4-4833-8896-77c5edaa66bd' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.120667,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377497,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU"} 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":"6bd4f4468bffa0ad72dde9358cb766af"},"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/3709d193-5fbd-4881-84e8-ea1c9b06b2a2' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b56cc057-4276-4b83-80a2-614ba2f7fda5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.533488} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bd4f4468bffa0ad72dde9358cb766af"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4b9061d-e982-4c28-85fb-515dd36a7e0d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.540102} 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":"6bd4f4468bffa0ad72dde9358cb766af"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0860b701-a5ed-4820-950a-0c3ad88af23c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.5517387} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d0538ec-7dac-4868-ab21-c5877309173e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.5520577} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bd4f4468bffa0ad72dde9358cb766af"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.551714836Z"}]},"request_id":"412e4861-e901-40fd-b01b-6072c3410f30","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.5572727} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bd4f4468bffa0ad72dde9358cb766af"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6bd4f4468bffa0ad72dde9358cb766af"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"6bd4f4468bffa0ad72dde9358cb766af","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4bd375034adbdc0e0de7ffdb08894cdb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.739087,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377497,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5N30.Qyfn02Th_SA5_hemR0owyZ7dSBo6n5rOyvfNRN3CpuU"} 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":"4bd375034adbdc0e0de7ffdb08894cdb"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"57d866ef-af28-4fc9-8af7-8b03cdf1efef","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.5822222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bd375034adbdc0e0de7ffdb08894cdb"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1627a066-97b9-4305-9336-b3eb60571c88","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.5879738} 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":"4bd375034adbdc0e0de7ffdb08894cdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"2835b569-c2f0-4da0-be79-0d342e759f89","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.6038644} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e3d6262-2b3e-4561-8f70-3a9b21559a99","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.6040566} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bd375034adbdc0e0de7ffdb08894cdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.603843850Z"}]},"request_id":"9907fc98-c094-436e-bc5d-316b785282dc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377497.6090827} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bd375034adbdc0e0de7ffdb08894cdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4bd375034adbdc0e0de7ffdb08894cdb"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"4bd375034adbdc0e0de7ffdb08894cdb","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"8ffa71af67ea1df1b3136cadddfe3912","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"053cd66354a8f5f29ef02f2459aa42a0","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892636,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ffa71af67ea1df1b3136cadddfe3912"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839403,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"053cd66354a8f5f29ef02f2459aa42a0"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.603843850Z"}]},"request_id":"135c3fd5-3455-4495-b142-93e6f6408f74","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.083334} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"053cd66354a8f5f29ef02f2459aa42a0"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.551714836Z"}]},"request_id":"c44579e1-6d35-48e4-9654-9d036d6205a1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.084164} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ffa71af67ea1df1b3136cadddfe3912"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69ea73f9-0267-4340-934b-9cf410ef29d9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.0886922} 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":"053cd66354a8f5f29ef02f2459aa42a0"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34d237bc-e97f-43cf-99c9-c5eda719214e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.0894868} 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":"8ffa71af67ea1df1b3136cadddfe3912"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.551714836Z"}]},"request_id":"eb5a7dc1-97da-469c-876f-559db91f97a9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.092641} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ffa71af67ea1df1b3136cadddfe3912"},"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":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/922d2c9b-199f-4d70-a1a9-d806267160c8 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8ffa71af67ea1df1b3136cadddfe3912"} device-1 | {"level":"info","message":"PATCH /devices/922d2c9b-199f-4d70-a1a9-d806267160c8 200 22ms","method":"PATCH","requestID":"8ffa71af67ea1df1b3136cadddfe3912","responseTime":22,"status":200,"url":"/devices/922d2c9b-199f-4d70-a1a9-d806267160c8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9d67e38aacc60cdea00165c687f442fc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724303,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"9d67e38aacc60cdea00165c687f442fc"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.603843850Z"}]},"request_id":"dff8ac58-fc1d-4a17-86a5-964c0a8ebe96","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.1044178} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"053cd66354a8f5f29ef02f2459aa42a0"},"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/2dd72384-78cd-4ed0-8a3d-dd6d7252e046 200 33ms","method":"PATCH","requestID":"053cd66354a8f5f29ef02f2459aa42a0","responseTime":33,"status":200,"url":"/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"053cd66354a8f5f29ef02f2459aa42a0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50b50a3db5603c8964c880c025518b68","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.068525,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/922d2c9b-199f-4d70-a1a9-d806267160c8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9d67e38aacc60cdea00165c687f442fc"} device-1 | {"level":"info","message":"POST /devices/922d2c9b-199f-4d70-a1a9-d806267160c8/websocket 200 20ms","method":"POST","requestID":"9d67e38aacc60cdea00165c687f442fc","responseTime":20,"status":200,"url":"/devices/922d2c9b-199f-4d70-a1a9-d806267160c8/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50b50a3db5603c8964c880c025518b68"},"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/2dd72384-78cd-4ed0-8a3d-dd6d7252e046/websocket 200 20ms","method":"POST","requestID":"50b50a3db5603c8964c880c025518b68","responseTime":20,"status":200,"url":"/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"50b50a3db5603c8964c880c025518b68"} device-1 | {"level":"info","message":"device 'http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"923ebd62cf23f4dad3b1bd06c07491fe","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.285776,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"923ebd62cf23f4dad3b1bd06c07491fe"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.551714836Z"}]},"request_id":"dc6aa44f-ecbf-4cff-baed-a684c5ca9812","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.173066} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"923ebd62cf23f4dad3b1bd06c07491fe"},"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/922d2c9b-199f-4d70-a1a9-d806267160c8? 200 16ms","method":"GET","requestID":"923ebd62cf23f4dad3b1bd06c07491fe","responseTime":16,"status":200,"url":"/devices/922d2c9b-199f-4d70-a1a9-d806267160c8?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/922d2c9b-199f-4d70-a1a9-d806267160c8? 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":"923ebd62cf23f4dad3b1bd06c07491fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"16ddb09fb5808dc6ed55fbc70063293d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685852,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16ddb09fb5808dc6ed55fbc70063293d"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.603843850Z"}]},"request_id":"18941da1-f581-4e05-a25e-6d76590f3de6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.1962597} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16ddb09fb5808dc6ed55fbc70063293d"},"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":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046? 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":"16ddb09fb5808dc6ed55fbc70063293d"} device-1 | {"level":"info","message":"GET /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046? 200 16ms","method":"GET","requestID":"16ddb09fb5808dc6ed55fbc70063293d","responseTime":16,"status":200,"url":"/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13d1a1543270dfde0f2148abdf03ef09","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:44380","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.55945,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"13d1a1543270dfde0f2148abdf03ef09"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"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:44380","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657573,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"773b9d30-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736729,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"773bc440-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.551714836Z"}]},"request_id":"2beaa322-0cd2-4540-b6ec-ea9dfe54d4ff","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.2517} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"773b9d30-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.603843850Z"}]},"request_id":"59ac6a25-13cc-4af6-9298-85717482afa0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.252977} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"773bc440-2a5f-11ef-8ed1-011028b23f76"},"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/922d2c9b-199f-4d70-a1a9-d806267160c8? 200 14ms","method":"GET","requestID":"773b9d30-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/922d2c9b-199f-4d70-a1a9-d806267160c8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046? 200 14ms","method":"GET","requestID":"773bc440-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"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/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844917,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"7744ec00-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.250174,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"77453a20-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.551714836Z"}]},"request_id":"a36ab7d5-5ff7-4209-a93c-574e6d84e6cc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.3169303} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7744ec00-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.603843850Z"}]},"request_id":"cc39843f-4240-48c4-b578-fac03fb25bcd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.3183267} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77453a20-2a5f-11ef-8ed1-011028b23f76"},"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/922d2c9b-199f-4d70-a1a9-d806267160c8? 200 21ms","method":"GET","requestID":"7744ec00-2a5f-11ef-8ed1-011028b23f76","responseTime":21,"status":200,"url":"/devices/922d2c9b-199f-4d70-a1a9-d806267160c8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046? 200 21ms","method":"GET","requestID":"77453a20-2a5f-11ef-8ed1-011028b23f76","responseTime":21,"status":200,"url":"/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F45dcb4a8-5b50-48ac-ad28-d5a749fd8a17#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F45dcb4a8-5b50-48ac-ad28-d5a749fd8a17","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"a64f71c2-b924-4fbe-bda9-5a2ef09a7605","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.3347597} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.991337,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"556d16bc-8b46-42f1-b194-02104323cf78","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.3356857} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","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":"7748e3a0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13d1a1543270dfde0f2148abdf03ef09"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/922d2c9b-199f-4d70-a1a9-d806267160c8/signaling 200 13ms","method":"POST","requestID":"7748e3a0-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/922d2c9b-199f-4d70-a1a9-d806267160c8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13d1a1543270dfde0f2148abdf03ef09"} experiment-1 | {"level":"info","message":"POST /experiments? 201 143ms","method":"POST","requestID":"13d1a1543270dfde0f2148abdf03ef09","responseTime":143,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.663103,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","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":"774b7bb0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6f14e1770d61e3ecd0d31f75e43809ae","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046/signaling 200 12ms","method":"POST","requestID":"774b7bb0-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"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":"0fb0ba74-ca12-4e9f-a811-13514526f3c9"},{"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":"71bd3882-cd54-4087-960d-f1696659169f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"53dfd9f0-2d9e-4c0a-82a4-1561427430bf"}]},"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/2dd72384-78cd-4ed0-8a3d-dd6d7252e046"},{"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/922d2c9b-199f-4d70-a1a9-d806267160c8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.325649,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/922d2c9b-199f-4d70-a1a9-d806267160c8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"6f14e1770d61e3ecd0d31f75e43809ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.045621,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"774decb0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F922d2c9b-199f-4d70-a1a9-d806267160c8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.551714836Z"}]},"request_id":"33d57180-5ab0-46e6-b2d3-6e0e9c753b26","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.3734446} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f14e1770d61e3ecd0d31f75e43809ae"},"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":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/922d2c9b-199f-4d70-a1a9-d806267160c8? 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":"6f14e1770d61e3ecd0d31f75e43809ae"} device-1 | {"level":"info","message":"GET /devices/922d2c9b-199f-4d70-a1a9-d806267160c8? 200 20ms","method":"GET","requestID":"6f14e1770d61e3ecd0d31f75e43809ae","responseTime":20,"status":200,"url":"/devices/922d2c9b-199f-4d70-a1a9-d806267160c8?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"d355e11f-82b3-46ee-aff0-d136ce994205","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.382664} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d110328-672d-4f85-a757-7618e993def0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.3828495} 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":"774decb0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a48c080f488937983efa39efb714540c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176012,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"a48c080f488937983efa39efb714540c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc'"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd72384-78cd-4ed0-8a3d-dd6d7252e046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:57.603843850Z"}]},"request_id":"403438d0-125f-4541-98ed-8d292bca2f5c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.3990304} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a48c080f488937983efa39efb714540c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"774decb0-2a5f-11ef-8ed1-011028b23f76","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046? 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":"a48c080f488937983efa39efb714540c"} device-1 | {"level":"info","message":"GET /devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046? 200 21ms","method":"GET","requestID":"a48c080f488937983efa39efb714540c","responseTime":21,"status":200,"url":"/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"792ffdb5-de2b-456f-a40b-d9e34f8162dc","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"792ffdb5-de2b-456f-a40b-d9e34f8162dc","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/792ffdb5-de2b-456f-a40b-d9e34f8162dc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"792ffdb5-de2b-456f-a40b-d9e34f8162dc","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":"0304592f1450b955dad87539053985dc","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/2dd72384-78cd-4ed0-8a3d-dd6d7252e046"},{"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/922d2c9b-199f-4d70-a1a9-d806267160c8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"0304592f1450b955dad87539053985dc","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"0304592f1450b955dad87539053985dc"} device-1 | {"data":{"peerconnection":"792ffdb5-de2b-456f-a40b-d9e34f8162dc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"792ffdb5-de2b-456f-a40b-d9e34f8162dc","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"792ffdb5-de2b-456f-a40b-d9e34f8162dc","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":"9e3616673e21569b0bcb4c633b7a26c0","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/2dd72384-78cd-4ed0-8a3d-dd6d7252e046"},{"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/922d2c9b-199f-4d70-a1a9-d806267160c8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F792ffdb5-de2b-456f-a40b-d9e34f8162dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23302cca-ede3-4b7e-8846-79f63b58c604","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.510262} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.817871,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc","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":"77634970-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc 200 13ms","method":"GET","requestID":"77634970-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"9e3616673e21569b0bcb4c633b7a26c0","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e3616673e21569b0bcb4c633b7a26c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0063c688074141fc8189b64de2668812","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.274693,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"0063c688074141fc8189b64de2668812"},"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/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0063c688074141fc8189b64de2668812"} experiment-1 | {"level":"info","message":"GET /experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17 200 16ms","method":"GET","requestID":"0063c688074141fc8189b64de2668812","responseTime":16,"status":200,"url":"/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ff755bd41a630f575b412088f6f29975","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.221786,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"ff755bd41a630f575b412088f6f29975"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.219004,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"7776d170-2a5f-11ef-8ed1-011028b23f76"},"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/792ffdb5-de2b-456f-a40b-d9e34f8162dc' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"792ffdb5-de2b-456f-a40b-d9e34f8162dc","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F792ffdb5-de2b-456f-a40b-d9e34f8162dc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F792ffdb5-de2b-456f-a40b-d9e34f8162dc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"b8782153-8115-4917-b7ff-b4959b9f767b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.6562078} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"b8501f0fb1af55e0ec182d190945752d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43488bd9-c3a2-4395-bd29-b9602026daa9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.657009} 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/2dd72384-78cd-4ed0-8a3d-dd6d7252e046"},{"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/922d2c9b-199f-4d70-a1a9-d806267160c8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc"}}},"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)"} 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":"7776d170-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5f50709a2cd5c3643b80ef356b3b90ca","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2dd72384-78cd-4ed0-8a3d-dd6d7252e046"},{"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/922d2c9b-199f-4d70-a1a9-d806267160c8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"792ffdb5-de2b-456f-a40b-d9e34f8162dc","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/792ffdb5-de2b-456f-a40b-d9e34f8162dc 204 51ms","method":"DELETE","requestID":"7776d170-2a5f-11ef-8ed1-011028b23f76","responseTime":51,"status":204,"url":"/peerconnections/792ffdb5-de2b-456f-a40b-d9e34f8162dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F45dcb4a8-5b50-48ac-ad28-d5a749fd8a17': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F45dcb4a8-5b50-48ac-ad28-d5a749fd8a17","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"f78a54dd-6e39-41c0-9d51-02f5c31490f4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.7195237} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12cc6d73-43c8-4490-9771-f8025b23fc83","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.7199554} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff755bd41a630f575b412088f6f29975"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff755bd41a630f575b412088f6f29975"} experiment-1 | {"level":"info","message":"DELETE /experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17 204 171ms","method":"DELETE","requestID":"ff755bd41a630f575b412088f6f29975","responseTime":171,"status":204,"url":"/experiments/45dcb4a8-5b50-48ac-ad28-d5a749fd8a17"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"0.652","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"74a2ba2159f0d36670b1b147e7c4bc97"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"0.666","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0ec7e4cb594d12c1d18882abc114ff11"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"b8501f0fb1af55e0ec182d190945752d","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"b8501f0fb1af55e0ec182d190945752d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"5f50709a2cd5c3643b80ef356b3b90ca","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"5f50709a2cd5c3643b80ef356b3b90ca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ca1479aabf3d0d93171e3becc09421cb","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/922d2c9b-199f-4d70-a1a9-d806267160c8' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.944417,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"ca1479aabf3d0d93171e3becc09421cb"},"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/2dd72384-78cd-4ed0-8a3d-dd6d7252e046' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"24a840fd-1c90-4a3d-9300-11ea9a573cc4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.86063} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca1479aabf3d0d93171e3becc09421cb"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"574923b9-5f95-4ccd-916a-082a30d4b5dc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.8657928} 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":"ca1479aabf3d0d93171e3becc09421cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0cfbcb1e-3d72-4444-95a6-e78baa1fad1a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.8765278} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70e48e11-dc52-40fe-b9ab-bfd68a9563b1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.8766346} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca1479aabf3d0d93171e3becc09421cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.876500307Z"}]},"request_id":"bce26862-2e40-490e-a180-ffb5699c498b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.8811328} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca1479aabf3d0d93171e3becc09421cb"},"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 87ms","method":"POST","requestID":"ca1479aabf3d0d93171e3becc09421cb","responseTime":87,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca1479aabf3d0d93171e3becc09421cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"92fc7fb96d5d5f140cb562fc583c8188","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.748543,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:04:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377498,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzQ5OH0.SzKxwynOLI6Q-bo9AENNkHTF3KH4AqJahmUgsZ3Dv2E"} 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":"92fc7fb96d5d5f140cb562fc583c8188"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"630c05af-9346-4d22-a43c-ef1322639270","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.9049063} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92fc7fb96d5d5f140cb562fc583c8188"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd9d7c24-33f0-4882-870d-236e632ae92d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.9100654} 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":"92fc7fb96d5d5f140cb562fc583c8188"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"66aabe5c-04bd-45f2-b1f0-e736c3848102","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.9215844} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56b5bc71-88f8-43f3-9db8-35da9cdbc169","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.9220388} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92fc7fb96d5d5f140cb562fc583c8188"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.921545294Z"}]},"request_id":"17eb70f4-f7e3-4dc4-bc43-70f9729e16cc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377498.9284072} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92fc7fb96d5d5f140cb562fc583c8188"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:04:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92fc7fb96d5d5f140cb562fc583c8188"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"92fc7fb96d5d5f140cb562fc583c8188","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"bade5676c1d8a6ca29d9ce97e5fec88e","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)"} gateway-1 | {"time_local":"14/Jun/2024:15:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36/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":"bade5676c1d8a6ca29d9ce97e5fec88e"} device-1 | {"level":"info","message":"OPTIONS /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36/websocket 200 0ms","method":"OPTIONS","requestID":"bade5676c1d8a6ca29d9ce97e5fec88e","responseTime":0,"status":200,"url":"/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"ea4465a03857f7cbe972c37fa79e5b9d","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da/websocket 200 0ms","method":"OPTIONS","requestID":"ea4465a03857f7cbe972c37fa79e5b9d","responseTime":0,"status":200,"url":"/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da/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":"ea4465a03857f7cbe972c37fa79e5b9d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMH0.I5YHOeiT7HnsA9zL9PmIBDTkdDyxSSleZU7RV7ZooLQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7abffb650428bec6684e9e7c46881bfa","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMH0.I5YHOeiT7HnsA9zL9PmIBDTkdDyxSSleZU7RV7ZooLQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"684aa134c92b0272f48c9c8ec2361358","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941612,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:00Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377500,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMH0.I5YHOeiT7HnsA9zL9PmIBDTkdDyxSSleZU7RV7ZooLQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7abffb650428bec6684e9e7c46881bfa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637498,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377500,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMH0.I5YHOeiT7HnsA9zL9PmIBDTkdDyxSSleZU7RV7ZooLQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"684aa134c92b0272f48c9c8ec2361358"},"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":"14/Jun/2024:15:05:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"684aa134c92b0272f48c9c8ec2361358"} device-1 | {"level":"info","message":"POST /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da/websocket 200 13ms","method":"POST","requestID":"684aa134c92b0272f48c9c8ec2361358","responseTime":13,"status":200,"url":"/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.666","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7abffb650428bec6684e9e7c46881bfa"} device-1 | {"level":"info","message":"POST /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36/websocket 200 660ms","method":"POST","requestID":"7abffb650428bec6684e9e7c46881bfa","responseTime":660,"status":200,"url":"/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7816bc9da6cf65a30915cc78e8cba68c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.889949,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377501,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk"} 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":"7816bc9da6cf65a30915cc78e8cba68c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.876500307Z"}]},"request_id":"ca5843fd-c5a6-4363-bcea-ebfb875e0e60","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377501.6175754} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7816bc9da6cf65a30915cc78e8cba68c"},"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":"14/Jun/2024:15:05:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36? 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":"7816bc9da6cf65a30915cc78e8cba68c"} device-1 | {"level":"info","message":"GET /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36? 200 19ms","method":"GET","requestID":"7816bc9da6cf65a30915cc78e8cba68c","responseTime":19,"status":200,"url":"/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6fc0fdb39f5234e0361db54f4975fd59","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.370781,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377501,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fc0fdb39f5234e0361db54f4975fd59"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.921545294Z"}]},"request_id":"30bfc0db-073c-4a65-aa48-748189a2f1cc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377501.6425993} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fc0fdb39f5234e0361db54f4975fd59"},"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":"14/Jun/2024:15:05:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da? 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":"6fc0fdb39f5234e0361db54f4975fd59"} device-1 | {"level":"info","message":"GET /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da? 200 17ms","method":"GET","requestID":"6fc0fdb39f5234e0361db54f4975fd59","responseTime":17,"status":200,"url":"/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"91553deee3662b5e874508aef5bf83c9","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:44380","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:01Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.30494,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377501,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk"} 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":"91553deee3662b5e874508aef5bf83c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"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:44380","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604134,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377501,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79b3f030-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683498,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377501,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79b41740-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.876500307Z"}]},"request_id":"279e62d8-6587-4f2d-987a-710b14d5ed09","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.395275} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79b3f030-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.921545294Z"}]},"request_id":"2e42bf6c-a405-4181-b785-2c01d073c1d9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.3960166} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79b41740-2a5f-11ef-8ed1-011028b23f76"},"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/c08fa47a-8f83-4ccd-9628-6f1cd21cea36? 200 18ms","method":"GET","requestID":"79b3f030-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da? 200 18ms","method":"GET","requestID":"79b41740-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"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/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.387689,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377501,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk"} 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":"79bf3ad0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.26229,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377501,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk"} 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":"79bf88f0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.876500307Z"}]},"request_id":"7ba86c4c-b915-42e3-83d9-5e1fd7f0882e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.4811182} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79bf3ad0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.921545294Z"}]},"request_id":"1a09ebcd-011e-4669-87bf-045bcb4bfc5b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.4824464} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79bf88f0-2a5f-11ef-8ed1-011028b23f76"},"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/5c71f6a8-a82e-4428-9ac8-61dec28098da? 200 27ms","method":"GET","requestID":"79bf88f0-2a5f-11ef-8ed1-011028b23f76","responseTime":27,"status":200,"url":"/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36? 200 30ms","method":"GET","requestID":"79bf3ad0-2a5f-11ef-8ed1-011028b23f76","responseTime":30,"status":200,"url":"/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.197111,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","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":"79c443e0-2a5f-11ef-8ed1-011028b23f76"},"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/c08fa47a-8f83-4ccd-9628-6f1cd21cea36/signaling 200 11ms","method":"POST","requestID":"79c443e0-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36/signaling"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03907922-1420-4a50-8837-12eba7fe329e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03907922-1420-4a50-8837-12eba7fe329e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0b2efd06-f1bb-42dc-a160-7b95e2403d76","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.5080228} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57a9a66f-25b5-427b-be6e-441bacc716b2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.5086284} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","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":"91553deee3662b5e874508aef5bf83c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.29022,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","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":"79c6b4e0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da/signaling 200 13ms","method":"POST","requestID":"79c6b4e0-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da/signaling"} gateway-1 | {"time_local":"14/Jun/2024:15:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.874","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91553deee3662b5e874508aef5bf83c9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 867ms","method":"POST","requestID":"91553deee3662b5e874508aef5bf83c9","responseTime":867,"status":201,"url":"/experiments?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"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":"5958e531-8b28-4c8a-b40f-e3918e64f6b4"},{"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":"43abf78c-b177-42fd-9954-4c861d9339c0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1f26716d-7fa8-43ec-a12c-392b174cd626"}]},"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/5c71f6a8-a82e-4428-9ac8-61dec28098da"},{"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/c08fa47a-8f83-4ccd-9628-6f1cd21cea36"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d95f0a732799c8fe66b0346745f91215","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.498922,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377501,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMX0.9qnx_18B0RwO1fearN1vBkWp3lm3Y-Axlt6ari4MGJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","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":"79c99b10-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.120368,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377502,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA"} 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":"d95f0a732799c8fe66b0346745f91215"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc08fa47a-8f83-4ccd-9628-6f1cd21cea36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.876500307Z"}]},"request_id":"7be174a9-0242-45ea-9682-7c615a646dd6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.5459373} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d95f0a732799c8fe66b0346745f91215"},"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":"14/Jun/2024:15:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36? 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":"d95f0a732799c8fe66b0346745f91215"} device-1 | {"level":"info","message":"GET /devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36? 200 19ms","method":"GET","requestID":"d95f0a732799c8fe66b0346745f91215","responseTime":19,"status":200,"url":"/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cd5aad7-7d94-4a29-87e4-3ca146e3c0ee","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.552335} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"86cf11d9-fb72-4c6b-92a4-5d0a5b93d559","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.5528178} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79c99b10-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3751b53167d0d2c19575ad34b3e77d56","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211482,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377502,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3751b53167d0d2c19575ad34b3e77d56"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c71f6a8-a82e-4428-9ac8-61dec28098da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:04:58.921545294Z"}]},"request_id":"63bd35fc-9dc4-4028-9138-2a38c1a2788c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.5690007} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3751b53167d0d2c19575ad34b3e77d56"},"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/57304c34-94ea-42a7-9de3-fea8698a9d38'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 57ms","method":"POST","requestID":"79c99b10-2a5f-11ef-8ed1-011028b23f76","responseTime":57,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3751b53167d0d2c19575ad34b3e77d56"} device-1 | {"level":"info","message":"GET /devices/5c71f6a8-a82e-4428-9ac8-61dec28098da? 200 29ms","method":"GET","requestID":"3751b53167d0d2c19575ad34b3e77d56","responseTime":29,"status":200,"url":"/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57304c34-94ea-42a7-9de3-fea8698a9d38","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":"c0b2615210c28316d67a9472610fc6c6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da"},{"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/c08fa47a-8f83-4ccd-9628-6f1cd21cea36"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"c0b2615210c28316d67a9472610fc6c6","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"c0b2615210c28316d67a9472610fc6c6"} device-1 | {"data":{"peerconnection":"57304c34-94ea-42a7-9de3-fea8698a9d38","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"57304c34-94ea-42a7-9de3-fea8698a9d38","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57304c34-94ea-42a7-9de3-fea8698a9d38","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":"dd7345f4e7507a60e423be50501c9f35","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/5c71f6a8-a82e-4428-9ac8-61dec28098da"},{"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/c08fa47a-8f83-4ccd-9628-6f1cd21cea36"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57304c34-94ea-42a7-9de3-fea8698a9d38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9150ae15-8ac6-4ffc-b965-2c3c4b68cd2c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.835454} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.741283,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38","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":"79f73ac0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38 200 13ms","method":"GET","requestID":"79f73ac0-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 63ms","method":"POST","requestID":"dd7345f4e7507a60e423be50501c9f35","responseTime":63,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd7345f4e7507a60e423be50501c9f35"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a350b3bdebcebcaae7fb06024633a6bb","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/03907922-1420-4a50-8837-12eba7fe329e"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.141387,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377502,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA"} 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":"a350b3bdebcebcaae7fb06024633a6bb"},"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/03907922-1420-4a50-8837-12eba7fe329e"} gateway-1 | {"time_local":"14/Jun/2024:15:05:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/03907922-1420-4a50-8837-12eba7fe329e HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a350b3bdebcebcaae7fb06024633a6bb"} experiment-1 | {"level":"info","message":"GET /experiments/03907922-1420-4a50-8837-12eba7fe329e 200 17ms","method":"GET","requestID":"a350b3bdebcebcaae7fb06024633a6bb","responseTime":17,"status":200,"url":"/experiments/03907922-1420-4a50-8837-12eba7fe329e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e906dc07edcfcdd7a876016e64f724fb","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/03907922-1420-4a50-8837-12eba7fe329e"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.915768,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377502,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e906dc07edcfcdd7a876016e64f724fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.98038,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377502,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwMn0.usZRVLZxVsEA_vhe_t__nbOF8JeUXPfiEBsmGMYDrmA"} 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":"7a0bd430-2a5f-11ef-8ed1-011028b23f76"},"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/57304c34-94ea-42a7-9de3-fea8698a9d38' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57304c34-94ea-42a7-9de3-fea8698a9d38","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57304c34-94ea-42a7-9de3-fea8698a9d38': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57304c34-94ea-42a7-9de3-fea8698a9d38","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"03b00603-4a8e-4af9-bbfe-6a5f32998c47","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.9822383} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f9ae7d1-d754-4696-8779-baa066b5c20c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377502.982601} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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 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":"7a0bd430-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f4349a977e4fa5f38b00948efd3ae21","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","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/5c71f6a8-a82e-4428-9ac8-61dec28098da"},{"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/c08fa47a-8f83-4ccd-9628-6f1cd21cea36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"dd2460d8565e862e9514cd5225413eb3","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da"},{"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/c08fa47a-8f83-4ccd-9628-6f1cd21cea36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"57304c34-94ea-42a7-9de3-fea8698a9d38","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/57304c34-94ea-42a7-9de3-fea8698a9d38 204 46ms","method":"DELETE","requestID":"7a0bd430-2a5f-11ef-8ed1-011028b23f76","responseTime":46,"status":204,"url":"/peerconnections/57304c34-94ea-42a7-9de3-fea8698a9d38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03907922-1420-4a50-8837-12eba7fe329e"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03907922-1420-4a50-8837-12eba7fe329e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03907922-1420-4a50-8837-12eba7fe329e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"4adcfd41-a4f0-43ad-8669-8d7cb8aafa17","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.0409918} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b39f2e99-16e1-4397-8ce0-b2fc8358f26f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.0413077} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e906dc07edcfcdd7a876016e64f724fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/03907922-1420-4a50-8837-12eba7fe329e"} gateway-1 | {"time_local":"14/Jun/2024:15:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/03907922-1420-4a50-8837-12eba7fe329e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e906dc07edcfcdd7a876016e64f724fb"} experiment-1 | {"level":"info","message":"DELETE /experiments/03907922-1420-4a50-8837-12eba7fe329e 204 168ms","method":"DELETE","requestID":"e906dc07edcfcdd7a876016e64f724fb","responseTime":168,"status":204,"url":"/experiments/03907922-1420-4a50-8837-12eba7fe329e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"0f4349a977e4fa5f38b00948efd3ae21","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f4349a977e4fa5f38b00948efd3ae21"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"dd2460d8565e862e9514cd5225413eb3","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd2460d8565e862e9514cd5225413eb3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwM30.X2NkR3_UwrX9jMJQFLRKkAGvr6gqMxEIcI5tiILw-Fc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fcdc5cca967e5d4e0d405401046930c0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"14/Jun/2024:15:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1959","request_time":"2.203","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9188c0d699afa94c672877c24daf1c28"} gateway-1 | {"time_local":"14/Jun/2024:15:05:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1690","request_time":"1.557","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f897bf4f21ffe34201fb7e9005f46b10"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.034098,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377503,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwM30.X2NkR3_UwrX9jMJQFLRKkAGvr6gqMxEIcI5tiILw-Fc"} 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":"fcdc5cca967e5d4e0d405401046930c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5c71f6a8-a82e-4428-9ac8-61dec28098da' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c08fa47a-8f83-4ccd-9628-6f1cd21cea36' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"56115460-5056-4cd6-acf6-391f550a3bcd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.1769786} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcdc5cca967e5d4e0d405401046930c0"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"145280fb-1a4e-4cc6-bf46-4dcf2020e9eb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.1825442} 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":"fcdc5cca967e5d4e0d405401046930c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"befcef0e-3fe4-4d7e-b4e1-c0a0f85659ce","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.1956203} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"115a0dd0-42e2-494a-a19a-e3e9c77381c9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.1958838} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcdc5cca967e5d4e0d405401046930c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.195595560Z"}]},"request_id":"cd12ef78-0453-47df-bc48-3de4361905c0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.2003667} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcdc5cca967e5d4e0d405401046930c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.078","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcdc5cca967e5d4e0d405401046930c0"} device-1 | {"level":"info","message":"POST /devices? 201 69ms","method":"POST","requestID":"fcdc5cca967e5d4e0d405401046930c0","responseTime":69,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwM30.X2NkR3_UwrX9jMJQFLRKkAGvr6gqMxEIcI5tiILw-Fc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"087c8c564b7255aba13302eca1cfed7a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:03Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.949194,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377503,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwM30.X2NkR3_UwrX9jMJQFLRKkAGvr6gqMxEIcI5tiILw-Fc"} 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":"087c8c564b7255aba13302eca1cfed7a"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"155f6a18-38bd-45f6-9ff7-81093c2550ca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.2265425} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"087c8c564b7255aba13302eca1cfed7a"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f902582e-901a-4132-bbb0-db2d1a54029e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.2324276} 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":"087c8c564b7255aba13302eca1cfed7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"14f46776-3458-47bd-a758-bb064cfac316","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.2436137} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8130cc44-3b8d-433a-aa48-41c4a53cab51","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.2438653} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"087c8c564b7255aba13302eca1cfed7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.243594560Z"}]},"request_id":"34d40758-b9a9-4370-8102-91ee6d356179","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377503.2485878} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"087c8c564b7255aba13302eca1cfed7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"087c8c564b7255aba13302eca1cfed7a"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"087c8c564b7255aba13302eca1cfed7a","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"c6e196f72a7c9c54bba4b3c7f96784e7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746/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":"c6e196f72a7c9c54bba4b3c7f96784e7"} device-1 | {"level":"info","message":"OPTIONS /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746/websocket 200 1ms","method":"OPTIONS","requestID":"c6e196f72a7c9c54bba4b3c7f96784e7","responseTime":1,"status":200,"url":"/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"25a818a717eedc7a87bc9af5fe37e69f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c/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":"25a818a717eedc7a87bc9af5fe37e69f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"OPTIONS /devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c/websocket 200 1ms","method":"OPTIONS","requestID":"25a818a717eedc7a87bc9af5fe37e69f","responseTime":1,"status":200,"url":"/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bc52e2ac3d12b10b9e2134e1a74298ec","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"550653157c86381ce30f50d6d7bb49e2","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956935,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc52e2ac3d12b10b9e2134e1a74298ec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927582,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"550653157c86381ce30f50d6d7bb49e2"},"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/5617da19-7e4b-412f-9fb5-b2a72f800e9c/websocket 200 11ms","method":"POST","requestID":"550653157c86381ce30f50d6d7bb49e2","responseTime":11,"status":200,"url":"/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"550653157c86381ce30f50d6d7bb49e2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746/websocket 200 29ms","method":"POST","requestID":"bc52e2ac3d12b10b9e2134e1a74298ec","responseTime":29,"status":200,"url":"/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bc52e2ac3d12b10b9e2134e1a74298ec"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d5618092c5974e4ba78bb66f5b3fd21b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933776,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5618092c5974e4ba78bb66f5b3fd21b"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.195595560Z"}]},"request_id":"3a8064e4-68d5-43f6-bf94-98de951173ed","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.235338} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5618092c5974e4ba78bb66f5b3fd21b"},"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":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c? 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":"d5618092c5974e4ba78bb66f5b3fd21b"} device-1 | {"level":"info","message":"GET /devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c? 200 16ms","method":"GET","requestID":"d5618092c5974e4ba78bb66f5b3fd21b","responseTime":16,"status":200,"url":"/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9467e33e6dd3e7cba85784ed641c3de5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815582,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9467e33e6dd3e7cba85784ed641c3de5"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.243594560Z"}]},"request_id":"ef290cf0-0620-406c-95c4-b33ed9621351","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.263243} 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":"9467e33e6dd3e7cba85784ed641c3de5"},"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":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746? 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":"9467e33e6dd3e7cba85784ed641c3de5"} device-1 | {"level":"info","message":"GET /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746? 200 22ms","method":"GET","requestID":"9467e33e6dd3e7cba85784ed641c3de5","responseTime":22,"status":200,"url":"/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb8c8685231e60d827996e8eb09cc774","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:44380","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.621776,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} 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":"cb8c8685231e60d827996e8eb09cc774"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"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:44380","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.000556,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b71ccd0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778259,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b721af0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.195595560Z"}]},"request_id":"a25a9479-3367-43c7-b3db-7b15081ccf83","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.3189785} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b71ccd0-2a5f-11ef-8ed1-011028b23f76"},"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/5617da19-7e4b-412f-9fb5-b2a72f800e9c? 200 13ms","method":"GET","requestID":"7b71ccd0-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.243594560Z"}]},"request_id":"29ebb71e-72ad-4e6d-88ee-7ed3b721ebce","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.322825} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b721af0-2a5f-11ef-8ed1-011028b23f76"},"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/8dcbc6f7-dc04-4bda-bcd5-05af7102b746? 200 18ms","method":"GET","requestID":"7b721af0-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"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/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.469348,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} 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":"7b7c2d10-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23166,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} 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":"7b7c7b30-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.195595560Z"}]},"request_id":"442c8c7d-60db-4527-bc98-def4f6e8b39c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.391685} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b7c2d10-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.243594560Z"}]},"request_id":"137ab158-1e4b-4bb1-9088-6a10bb4eaece","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.3932514} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b7c7b30-2a5f-11ef-8ed1-011028b23f76"},"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/5617da19-7e4b-412f-9fb5-b2a72f800e9c? 200 24ms","method":"GET","requestID":"7b7c2d10-2a5f-11ef-8ed1-011028b23f76","responseTime":24,"status":200,"url":"/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746? 200 23ms","method":"GET","requestID":"7b7c7b30-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.310227,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","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":"7b8072d0-2a5f-11ef-8ed1-011028b23f76"},"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/5617da19-7e4b-412f-9fb5-b2a72f800e9c/signaling 200 12ms","method":"POST","requestID":"7b8072d0-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1cd25232-8ad4-43a8-8307-ab170e9b1451#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1cd25232-8ad4-43a8-8307-ab170e9b1451","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"0280d5e9-2304-447a-8559-348accd364c9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.4227881} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03683610-d541-42a7-acce-f4d454cff98f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.4231684} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.752003,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","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":"cb8c8685231e60d827996e8eb09cc774"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":41}} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","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":"7b8295b0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"cb8c8685231e60d827996e8eb09cc774","responseTime":160,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb8c8685231e60d827996e8eb09cc774"} device-1 | {"level":"info","message":"POST /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746/signaling 200 14ms","method":"POST","requestID":"7b8295b0-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"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":"c6339851-c6a7-40a6-8f2c-3021c3c38c9a"},{"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":"6adc8206-f8be-42bc-8dc1-3902088aee07"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"57c39777-86d8-4036-b1b0-3b2b3b787935"}]},"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/5617da19-7e4b-412f-9fb5-b2a72f800e9c"},{"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/8dcbc6f7-dc04-4bda-bcd5-05af7102b746"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e85276f036d3761d2bb1ba940aa6fc7e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.157333,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} 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":"7b852dc0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.633658,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e85276f036d3761d2bb1ba940aa6fc7e"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5617da19-7e4b-412f-9fb5-b2a72f800e9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.195595560Z"}]},"request_id":"c88236ca-3b77-467f-a997-4d84e463ada7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.4472628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e85276f036d3761d2bb1ba940aa6fc7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"d03b4822-c8f7-49b5-aa8f-bee23d37a255","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.451186} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e85276f036d3761d2bb1ba940aa6fc7e"} device-1 | {"level":"info","message":"GET /devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c? 200 15ms","method":"GET","requestID":"e85276f036d3761d2bb1ba940aa6fc7e","responseTime":15,"status":200,"url":"/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7faabfa-082a-42cf-ae45-3f56dc390347","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.451538} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b852dc0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4c19efcdb7948f3cf91cf3219774c3ee","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.103408,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c19efcdb7948f3cf91cf3219774c3ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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/e9a79de1-e559-499c-870d-243c0452f45e'"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcbc6f7-dc04-4bda-bcd5-05af7102b746","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:03.243594560Z"}]},"request_id":"213aa5f0-1de5-4275-97ef-eddff389c9b4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.4643536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c19efcdb7948f3cf91cf3219774c3ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"7b852dc0-2a5f-11ef-8ed1-011028b23f76","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746? 200 14ms","method":"GET","requestID":"4c19efcdb7948f3cf91cf3219774c3ee","responseTime":14,"status":200,"url":"/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c19efcdb7948f3cf91cf3219774c3ee"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e9a79de1-e559-499c-870d-243c0452f45e","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":"66eaa7dc1d7df33ded5e158167228358","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/5617da19-7e4b-412f-9fb5-b2a72f800e9c"},{"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/8dcbc6f7-dc04-4bda-bcd5-05af7102b746"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"66eaa7dc1d7df33ded5e158167228358","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"66eaa7dc1d7df33ded5e158167228358"} device-1 | {"data":{"peerconnection":"e9a79de1-e559-499c-870d-243c0452f45e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e9a79de1-e559-499c-870d-243c0452f45e","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e9a79de1-e559-499c-870d-243c0452f45e","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":"574b92af2982a3f33d02e7d038056ac8","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/5617da19-7e4b-412f-9fb5-b2a72f800e9c"},{"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/8dcbc6f7-dc04-4bda-bcd5-05af7102b746"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe9a79de1-e559-499c-870d-243c0452f45e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32dbe5bf-ce11-4333-8b3c-ca2a2016e549","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.7424612} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.486635,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e","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":"7bb2a660-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/e9a79de1-e559-499c-870d-243c0452f45e 200 14ms","method":"GET","requestID":"7bb2a660-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 63ms","method":"POST","requestID":"574b92af2982a3f33d02e7d038056ac8","responseTime":63,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.069","http_referrer":"","http_user_agent":"node-fetch","requestID":"574b92af2982a3f33d02e7d038056ac8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"88bbaa8a07b1a8f8a29b49439207d373","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.323966,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} 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":"88bbaa8a07b1a8f8a29b49439207d373"},"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/1cd25232-8ad4-43a8-8307-ab170e9b1451"} gateway-1 | {"time_local":"14/Jun/2024:15:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88bbaa8a07b1a8f8a29b49439207d373"} experiment-1 | {"level":"info","message":"GET /experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451 200 17ms","method":"GET","requestID":"88bbaa8a07b1a8f8a29b49439207d373","responseTime":17,"status":200,"url":"/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9582c5ffe20c386de5876eaefba22b00","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.470817,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} 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":"9582c5ffe20c386de5876eaefba22b00"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.672532,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377505,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNX0.4gSKMQN2u8yUfBDpuNgWHptLN-T4hJVc686zw8yemVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","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":"7bc7dc10-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e9a79de1-e559-499c-870d-243c0452f45e","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 2ms","method":"GET","requestID":"0ab6f609a5e2746a8fb42d150eafb829","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)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"01b5887eb2ba6d8d0caf1c126da2f4b3","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/5617da19-7e4b-412f-9fb5-b2a72f800e9c"},{"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/8dcbc6f7-dc04-4bda-bcd5-05af7102b746"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e"}}},"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/5617da19-7e4b-412f-9fb5-b2a72f800e9c"},{"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/8dcbc6f7-dc04-4bda-bcd5-05af7102b746"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe9a79de1-e559-499c-870d-243c0452f45e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe9a79de1-e559-499c-870d-243c0452f45e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"92797fd2-fb04-4d99-a595-b9aea4893213","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.9152598} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fbc3104-d50e-474a-bbd5-e49e0dc194d0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.9154887} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc7dc10-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"data":{"peerconnection":"e9a79de1-e559-499c-870d-243c0452f45e","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/e9a79de1-e559-499c-870d-243c0452f45e 204 65ms","method":"DELETE","requestID":"7bc7dc10-2a5f-11ef-8ed1-011028b23f76","responseTime":65,"status":204,"url":"/peerconnections/e9a79de1-e559-499c-870d-243c0452f45e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1cd25232-8ad4-43a8-8307-ab170e9b1451': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1cd25232-8ad4-43a8-8307-ab170e9b1451","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"2e99c312-d7d0-4cba-b5d3-b21fc5c788e4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.9759872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2e7d165-afac-485f-9b8e-f6db5affbee1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377505.9764538} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9582c5ffe20c386de5876eaefba22b00"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"} gateway-1 | {"time_local":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9582c5ffe20c386de5876eaefba22b00"} experiment-1 | {"level":"info","message":"DELETE /experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451 204 205ms","method":"DELETE","requestID":"9582c5ffe20c386de5876eaefba22b00","responseTime":205,"status":204,"url":"/experiments/1cd25232-8ad4-43a8-8307-ab170e9b1451"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"0ab6f609a5e2746a8fb42d150eafb829","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"0ab6f609a5e2746a8fb42d150eafb829"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"01b5887eb2ba6d8d0caf1c126da2f4b3","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"01b5887eb2ba6d8d0caf1c126da2f4b3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNn0.6wVaLDD_YXrZ6BIRL6Yh9t9-Bu7Mylf4VssAqW0X03I","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f44db02ed9dcf648a27b35ebe6821cdb","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:06Z"} gateway-1 | {"time_local":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1688","request_time":"0.865","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a71f05a328d584829108c85f407eb831"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.319593,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377506,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNn0.6wVaLDD_YXrZ6BIRL6Yh9t9-Bu7Mylf4VssAqW0X03I"} 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":"f44db02ed9dcf648a27b35ebe6821cdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1959","request_time":"0.882","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ba158ea0cc15d24d286adb729810a531"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8dcbc6f7-dc04-4bda-bcd5-05af7102b746' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b785b1a3-90b4-49db-bd20-e07dddbc7ff3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.11008} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f44db02ed9dcf648a27b35ebe6821cdb"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74a83e0a-9ef4-4d7a-8fa1-25e09c08a325","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.1152327} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5617da19-7e4b-412f-9fb5-b2a72f800e9c' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f44db02ed9dcf648a27b35ebe6821cdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"5b6874c0-c908-4124-855c-eac7058b71c7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.126473} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d42fe31-24d9-4926-8aad-b53d24005b17","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.1265843} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f44db02ed9dcf648a27b35ebe6821cdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.126450267Z"}]},"request_id":"7bc4407e-a8ab-4df7-b77a-0eeee88f4a6a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.1319447} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f44db02ed9dcf648a27b35ebe6821cdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f44db02ed9dcf648a27b35ebe6821cdb"} device-1 | {"level":"info","message":"POST /devices? 201 67ms","method":"POST","requestID":"f44db02ed9dcf648a27b35ebe6821cdb","responseTime":67,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNn0.6wVaLDD_YXrZ6BIRL6Yh9t9-Bu7Mylf4VssAqW0X03I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"216354fe0fbdbc030671e8de220feaf5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:06Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.683162,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377506,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNn0.6wVaLDD_YXrZ6BIRL6Yh9t9-Bu7Mylf4VssAqW0X03I"} 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":"216354fe0fbdbc030671e8de220feaf5"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"75754ef7-f585-4b6d-8095-72e5fa052b47","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.1562755} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"216354fe0fbdbc030671e8de220feaf5"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80a3c4f5-868f-40a3-b18a-b99ae6c070b1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.1619897} 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":"216354fe0fbdbc030671e8de220feaf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"3bf4831d-64d1-45ec-93c0-f549c488bc04","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.194836} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"621782e6-4fe0-4733-ae06-2c27e0ad65b1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.1951067} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"216354fe0fbdbc030671e8de220feaf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.194805719Z"}]},"request_id":"8eada257-b6f2-45c9-89d2-c5a25e1a4987","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.2003675} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"216354fe0fbdbc030671e8de220feaf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"216354fe0fbdbc030671e8de220feaf5"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"216354fe0fbdbc030671e8de220feaf5","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNn0.6wVaLDD_YXrZ6BIRL6Yh9t9-Bu7Mylf4VssAqW0X03I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"328549843fe4827f03b89ebab2dea331","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:06Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899797,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377506,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNn0.6wVaLDD_YXrZ6BIRL6Yh9t9-Bu7Mylf4VssAqW0X03I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"328549843fe4827f03b89ebab2dea331"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.194805719Z"}]},"request_id":"ab965eeb-4d10-4a22-a8f2-ab24e248f0e5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.6946738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"328549843fe4827f03b89ebab2dea331"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbce361f-3178-413d-8481-140302cc3c05","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.701837} 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":"328549843fe4827f03b89ebab2dea331"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.194805719Z"}]},"request_id":"5c126d97-0214-4247-a3b0-444c95a6711d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377506.71738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"328549843fe4827f03b89ebab2dea331"},"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":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"328549843fe4827f03b89ebab2dea331"} device-1 | {"level":"info","message":"PATCH /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9 200 40ms","method":"PATCH","requestID":"328549843fe4827f03b89ebab2dea331","responseTime":40,"status":200,"url":"/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNn0.6wVaLDD_YXrZ6BIRL6Yh9t9-Bu7Mylf4VssAqW0X03I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5bd3a39a9361a876416e01977783f8a9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:06Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.425569,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377506,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwNn0.6wVaLDD_YXrZ6BIRL6Yh9t9-Bu7Mylf4VssAqW0X03I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bd3a39a9361a876416e01977783f8a9"},"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":"14/Jun/2024:15:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5bd3a39a9361a876416e01977783f8a9"} device-1 | {"level":"info","message":"POST /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9/websocket 200 19ms","method":"POST","requestID":"5bd3a39a9361a876416e01977783f8a9","responseTime":19,"status":200,"url":"/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9' 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":"ef8a986e0459a26e6b7e63cda96e428c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b/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":"ef8a986e0459a26e6b7e63cda96e428c"} device-1 | {"level":"info","message":"OPTIONS /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b/websocket 200 1ms","method":"OPTIONS","requestID":"ef8a986e0459a26e6b7e63cda96e428c","responseTime":1,"status":200,"url":"/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"50ceda0584d6b562b0e010e4207e6524","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.177395,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} 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":"50ceda0584d6b562b0e010e4207e6524"},"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":"14/Jun/2024:15:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"50ceda0584d6b562b0e010e4207e6524"} device-1 | {"level":"info","message":"POST /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b/websocket 200 22ms","method":"POST","requestID":"50ceda0584d6b562b0e010e4207e6524","responseTime":22,"status":200,"url":"/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c6aa330da43296c591b9ea7f56339318","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.400307,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6aa330da43296c591b9ea7f56339318"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.126450267Z"}]},"request_id":"ef3fd637-03fa-44a2-8c82-88bff2b5ae19","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.2990403} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6aa330da43296c591b9ea7f56339318"},"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":"14/Jun/2024:15:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b? 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":"c6aa330da43296c591b9ea7f56339318"} device-1 | {"level":"info","message":"GET /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b? 200 19ms","method":"GET","requestID":"c6aa330da43296c591b9ea7f56339318","responseTime":19,"status":200,"url":"/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cbb2050167b67b032b88073981dc110f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210993,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb2050167b67b032b88073981dc110f"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.194805719Z"}]},"request_id":"0b06f965-7012-4e01-a15d-bfdb430ca432","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.3261886} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb2050167b67b032b88073981dc110f"},"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":"14/Jun/2024:15:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9? 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":"cbb2050167b67b032b88073981dc110f"} device-1 | {"level":"info","message":"GET /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9? 200 19ms","method":"GET","requestID":"cbb2050167b67b032b88073981dc110f","responseTime":19,"status":200,"url":"/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dbe3ac71ecdaed4f0f53f76aaef66f8d","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:44380","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.125495,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} 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":"dbe3ac71ecdaed4f0f53f76aaef66f8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"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:44380","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.195092,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d475020-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.116948,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d477730-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.126450267Z"}]},"request_id":"b7112210-d454-4dd4-9958-b7b122cfa2da","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.3956616} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d475020-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.194805719Z"}]},"request_id":"bdb835a8-01a3-43f6-bf8e-ef26681cc415","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.396449} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d477730-2a5f-11ef-8ed1-011028b23f76"},"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/61cd5c6a-82f7-4b5e-923f-4758bf74962b? 200 16ms","method":"GET","requestID":"7d475020-2a5f-11ef-8ed1-011028b23f76","responseTime":16,"status":200,"url":"/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9? 200 16ms","method":"GET","requestID":"7d477730-2a5f-11ef-8ed1-011028b23f76","responseTime":16,"status":200,"url":"/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"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/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962567,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} 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":"7d51b060-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.54222,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} 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":"7d51fe80-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.126450267Z"}]},"request_id":"f491dfaa-9edb-46ab-96ca-da20c9571b01","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.4660802} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d51b060-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.194805719Z"}]},"request_id":"717b8143-ecbb-4a32-953a-f615f5dcd3a3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.466974} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d51fe80-2a5f-11ef-8ed1-011028b23f76"},"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/61cd5c6a-82f7-4b5e-923f-4758bf74962b? 200 20ms","method":"GET","requestID":"7d51b060-2a5f-11ef-8ed1-011028b23f76","responseTime":20,"status":200,"url":"/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9? 200 18ms","method":"GET","requestID":"7d51fe80-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e4fd04f-348b-465e-bb6f-508a700c3be3#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e4fd04f-348b-465e-bb6f-508a700c3be3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"62b73223-69df-4aea-8995-d3321cd22399","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.4756215} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ba701c3-0134-45dd-af56-2e5a6014376d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.4758832} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbe3ac71ecdaed4f0f53f76aaef66f8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.921258,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","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":"7d5532d0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dbe3ac71ecdaed4f0f53f76aaef66f8d"} device-1 | {"level":"info","message":"POST /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b/signaling 200 9ms","method":"POST","requestID":"7d5532d0-2a5f-11ef-8ed1-011028b23f76","responseTime":9,"status":200,"url":"/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 143ms","method":"POST","requestID":"dbe3ac71ecdaed4f0f53f76aaef66f8d","responseTime":143,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2fa320bd818183c6f9d5860568c40b78","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.863261,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","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":"7d570790-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909948,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fa320bd818183c6f9d5860568c40b78"},"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/b0726c27-e04a-41d7-81c6-e2696f70fff9/signaling 200 13ms","method":"POST","requestID":"7d570790-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"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":"a790f0c7-6d3b-4b1e-a269-48faf1753199"},{"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":"7180b47b-5305-41a5-bc82-76dcffaa7612"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"01671e95-6f57-46eb-87d5-c30e290ad046"}]},"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/b0726c27-e04a-41d7-81c6-e2696f70fff9"},{"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/61cd5c6a-82f7-4b5e-923f-4758bf74962b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61cd5c6a-82f7-4b5e-923f-4758bf74962b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.126450267Z"}]},"request_id":"cdeac65e-7de2-4363-bcb4-80b05e330bbe","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.5032954} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fa320bd818183c6f9d5860568c40b78"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.768129,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d597890-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} gateway-1 | {"time_local":"14/Jun/2024:15:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b? 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":"2fa320bd818183c6f9d5860568c40b78"} device-1 | {"level":"info","message":"GET /devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b? 200 18ms","method":"GET","requestID":"2fa320bd818183c6f9d5860568c40b78","responseTime":18,"status":200,"url":"/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3bb91bd4944defadf749847eeb0c03b1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"8dab71a5-3b29-4ee7-8dc5-32eb391499f0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.517683} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"816ffecc-4d20-4e48-8e21-e20a5a2319d0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.517765} 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":"7d597890-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.833994,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377508,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOH0.pOlSM72cxETNSdL-4bxX75Z2NKkc0mZ8qPRcM4IwH7o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3bb91bd4944defadf749847eeb0c03b1"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0726c27-e04a-41d7-81c6-e2696f70fff9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:06.194805719Z"}]},"request_id":"8fdcbd30-6a9d-4ed1-8cff-c0e7898604c4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377508.5245252} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3bb91bd4944defadf749847eeb0c03b1"},"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/0d744e91-670a-4533-839a-947aa5e93b90'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"7d597890-2a5f-11ef-8ed1-011028b23f76","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9? 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":"3bb91bd4944defadf749847eeb0c03b1"} device-1 | {"level":"info","message":"GET /devices/b0726c27-e04a-41d7-81c6-e2696f70fff9? 200 22ms","method":"GET","requestID":"3bb91bd4944defadf749847eeb0c03b1","responseTime":22,"status":200,"url":"/devices/b0726c27-e04a-41d7-81c6-e2696f70fff9?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"0d744e91-670a-4533-839a-947aa5e93b90","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/0d744e91-670a-4533-839a-947aa5e93b90' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d744e91-670a-4533-839a-947aa5e93b90","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":"23480af7984c8c4e9f59d3a1e503b645","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/b0726c27-e04a-41d7-81c6-e2696f70fff9"},{"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/61cd5c6a-82f7-4b5e-923f-4758bf74962b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"23480af7984c8c4e9f59d3a1e503b645","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"23480af7984c8c4e9f59d3a1e503b645"} device-1 | {"data":{"peerconnection":"0d744e91-670a-4533-839a-947aa5e93b90","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0d744e91-670a-4533-839a-947aa5e93b90","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d744e91-670a-4533-839a-947aa5e93b90","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":"7c779d41bf8acb81a1c143601f5f6d68","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/b0726c27-e04a-41d7-81c6-e2696f70fff9"},{"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/61cd5c6a-82f7-4b5e-923f-4758bf74962b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d744e91-670a-4533-839a-947aa5e93b90","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfb41702-0570-4dc8-96af-148a16cb92f6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.6650503} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.386304,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90","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":"7e094090-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/0d744e91-670a-4533-839a-947aa5e93b90 200 14ms","method":"GET","requestID":"7e094090-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"7c779d41bf8acb81a1c143601f5f6d68","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c779d41bf8acb81a1c143601f5f6d68"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4c32e471881068e0db71ec16543a3eff","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.221062,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377509,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4"} 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":"4c32e471881068e0db71ec16543a3eff"},"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/2e4fd04f-348b-465e-bb6f-508a700c3be3"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c32e471881068e0db71ec16543a3eff"} experiment-1 | {"level":"info","message":"GET /experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3 200 17ms","method":"GET","requestID":"4c32e471881068e0db71ec16543a3eff","responseTime":17,"status":200,"url":"/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5f9a73e7c6d9e4b5d2cc967d02045e23","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.732378,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377509,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4"} 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":"5f9a73e7c6d9e4b5d2cc967d02045e23"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.190931,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377509,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4"} 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":"7e1ca180-2a5f-11ef-8ed1-011028b23f76"},"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/0d744e91-670a-4533-839a-947aa5e93b90' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d744e91-670a-4533-839a-947aa5e93b90","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":"ac5148ca07c49456a104caa1217e31e2","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/b0726c27-e04a-41d7-81c6-e2696f70fff9"},{"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/61cd5c6a-82f7-4b5e-923f-4758bf74962b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b5fe866be0c260473338504817517bdd","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d744e91-670a-4533-839a-947aa5e93b90': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d744e91-670a-4533-839a-947aa5e93b90","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"f89c22a7-0075-4c47-88e6-ca2b8aa09bd4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.814592} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c06e53d-4ddc-4621-b7af-8c537babfe48","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.8152537} 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/b0726c27-e04a-41d7-81c6-e2696f70fff9"},{"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/61cd5c6a-82f7-4b5e-923f-4758bf74962b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e1ca180-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"0d744e91-670a-4533-839a-947aa5e93b90","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/0d744e91-670a-4533-839a-947aa5e93b90 204 50ms","method":"DELETE","requestID":"7e1ca180-2a5f-11ef-8ed1-011028b23f76","responseTime":50,"status":204,"url":"/peerconnections/0d744e91-670a-4533-839a-947aa5e93b90"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e4fd04f-348b-465e-bb6f-508a700c3be3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e4fd04f-348b-465e-bb6f-508a700c3be3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"c17ca811-14c1-4de3-9f54-bb9af792c804","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.8688865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33ce196f-f593-4bc4-8deb-15175cdabeeb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.8695316} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f9a73e7c6d9e4b5d2cc967d02045e23"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f9a73e7c6d9e4b5d2cc967d02045e23"} experiment-1 | {"level":"info","message":"DELETE /experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3 204 170ms","method":"DELETE","requestID":"5f9a73e7c6d9e4b5d2cc967d02045e23","responseTime":170,"status":204,"url":"/experiments/2e4fd04f-348b-465e-bb6f-508a700c3be3"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1959","request_time":"3.187","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9e5da922bace38730c6f97d06052e2f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"ac5148ca07c49456a104caa1217e31e2","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"ac5148ca07c49456a104caa1217e31e2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"b5fe866be0c260473338504817517bdd","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"b5fe866be0c260473338504817517bdd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"238607c8e37646c50c6f40d2b69bc07f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:09Z"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1719","request_time":"1.682","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b4cfae2ec6a00ccb1470380672a61b2f"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910329,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377509,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4"} 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":"238607c8e37646c50c6f40d2b69bc07f"},"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/b0726c27-e04a-41d7-81c6-e2696f70fff9' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"73a5ecba-f30e-4640-9612-833026c46ed2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.9661787} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"238607c8e37646c50c6f40d2b69bc07f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/61cd5c6a-82f7-4b5e-923f-4758bf74962b' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a20041c-09f1-4f1c-aa9e-17ec94166df4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.971524} 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":"238607c8e37646c50c6f40d2b69bc07f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"dfb365cc-1a8c-482a-8413-8b4384979131","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.9797046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb6dfe6c-0c69-4861-8433-3478062c18c6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.9799504} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"238607c8e37646c50c6f40d2b69bc07f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:09.979677075Z"}]},"request_id":"670f9971-334b-43d8-810d-1e1d3d876170","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377509.984012} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"238607c8e37646c50c6f40d2b69bc07f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"238607c8e37646c50c6f40d2b69bc07f"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"238607c8e37646c50c6f40d2b69bc07f","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ca6f4101f31016f6cc62415cf1af1aef","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.136052,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377509,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUwOX0.YZWvBnTV1Yr2ratmJRRKcs2Y503YfWw1U_t3PW8doS4"} 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":"ca6f4101f31016f6cc62415cf1af1aef"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9b2e4ef4-b148-4ea1-84b8-69cbc4e02350","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377510.0134761} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca6f4101f31016f6cc62415cf1af1aef"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4da8879e-f952-4113-8159-6191625c25b0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377510.0185845} 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":"ca6f4101f31016f6cc62415cf1af1aef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"a0e85ff8-9320-4f1c-a615-049ed5c9d042","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377510.0302105} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf952430-2309-4be7-9742-972976fda51d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377510.0303695} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca6f4101f31016f6cc62415cf1af1aef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:10.030187771Z"}]},"request_id":"3fb8c4d9-d5ce-46f0-824d-0ad7e5df43e1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377510.0342727} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca6f4101f31016f6cc62415cf1af1aef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca6f4101f31016f6cc62415cf1af1aef"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"ca6f4101f31016f6cc62415cf1af1aef","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMH0.uFss4O0ubU96PtPcmEUi4r_CYw5iRRl_RgLwWHM62v8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ffd970897093fcbe5150553d0eb6ca9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886424,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377510,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMH0.uFss4O0ubU96PtPcmEUi4r_CYw5iRRl_RgLwWHM62v8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ffd970897093fcbe5150553d0eb6ca9"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:10.030187771Z"}]},"request_id":"bb04f701-d6e6-45c1-bb5c-67591defde64","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377510.5167048} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ffd970897093fcbe5150553d0eb6ca9"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b836023d-d664-41d2-977e-42a4739c62a5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377510.5231457} 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":"4ffd970897093fcbe5150553d0eb6ca9"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:10.030187771Z"}]},"request_id":"19debc14-f204-46cb-88b0-4bf439a501cc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377510.5359166} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ffd970897093fcbe5150553d0eb6ca9"},"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":"14/Jun/2024:15:05:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4ffd970897093fcbe5150553d0eb6ca9"} device-1 | {"level":"info","message":"PATCH /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd 200 36ms","method":"PATCH","requestID":"4ffd970897093fcbe5150553d0eb6ca9","responseTime":36,"status":200,"url":"/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMH0.uFss4O0ubU96PtPcmEUi4r_CYw5iRRl_RgLwWHM62v8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cde3a9dba3abd3d22613f6309130f8f0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:10Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.134366,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377510,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMH0.uFss4O0ubU96PtPcmEUi4r_CYw5iRRl_RgLwWHM62v8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cde3a9dba3abd3d22613f6309130f8f0"},"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":"14/Jun/2024:15:05:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cde3a9dba3abd3d22613f6309130f8f0"} device-1 | {"level":"info","message":"POST /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd/websocket 200 21ms","method":"POST","requestID":"cde3a9dba3abd3d22613f6309130f8f0","responseTime":21,"status":200,"url":"/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd' 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":"1fe300d0bd4e89688204e8abcc98b21c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031/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":"1fe300d0bd4e89688204e8abcc98b21c"} device-1 | {"level":"info","message":"OPTIONS /devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031/websocket 200 2ms","method":"OPTIONS","requestID":"1fe300d0bd4e89688204e8abcc98b21c","responseTime":2,"status":200,"url":"/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c68bca3984a0c83f2fe609b67cfe547a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.758881,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"c68bca3984a0c83f2fe609b67cfe547a"},"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/9d18e8ea-0e65-4448-9bd1-7f23f76f6031/websocket 200 24ms","method":"POST","requestID":"c68bca3984a0c83f2fe609b67cfe547a","responseTime":24,"status":200,"url":"/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c68bca3984a0c83f2fe609b67cfe547a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8fc3d837c9cc484721e1f5b31bc62ff6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.826038,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"8fc3d837c9cc484721e1f5b31bc62ff6"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:09.979677075Z"}]},"request_id":"628acd8e-6411-470e-8bc6-3b9f1bec94a6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.086163} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc3d837c9cc484721e1f5b31bc62ff6"},"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":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031? 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":"8fc3d837c9cc484721e1f5b31bc62ff6"} device-1 | {"level":"info","message":"GET /devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031? 200 22ms","method":"GET","requestID":"8fc3d837c9cc484721e1f5b31bc62ff6","responseTime":22,"status":200,"url":"/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"400b0f4e65a45fdf079ac83f4cca8cf1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189526,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400b0f4e65a45fdf079ac83f4cca8cf1"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:10.030187771Z"}]},"request_id":"ea0cb01b-2c76-41ea-8219-95aad28984c3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.1153302} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400b0f4e65a45fdf079ac83f4cca8cf1"},"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/3928fdfb-8c8b-4cee-935d-db800a9e79cd? 200 18ms","method":"GET","requestID":"400b0f4e65a45fdf079ac83f4cca8cf1","responseTime":18,"status":200,"url":"/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd? 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":"400b0f4e65a45fdf079ac83f4cca8cf1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d7aad321f2fe05d5c7b733309441723b","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:44380","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.142911,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"d7aad321f2fe05d5c7b733309441723b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"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:44380","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158043,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"7f88dbb0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185717,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"7f8929d0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:09.979677075Z"}]},"request_id":"4b26e88c-a374-4a57-8605-ea2b4019e030","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.1842153} 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":"7f88dbb0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:10.030187771Z"}]},"request_id":"3ecdd282-a1ab-4371-ad25-5927fa55884c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.185847} 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":"7f8929d0-2a5f-11ef-8ed1-011028b23f76"},"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/9d18e8ea-0e65-4448-9bd1-7f23f76f6031? 200 23ms","method":"GET","requestID":"7f88dbb0-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd? 200 22ms","method":"GET","requestID":"7f8929d0-2a5f-11ef-8ed1-011028b23f76","responseTime":22,"status":200,"url":"/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"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:44380","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265969,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769513,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"7f93ff40-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"7f944d60-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:09.979677075Z"}]},"request_id":"3ef32225-6101-447d-8b78-a5cdf6003315","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.2578862} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f93ff40-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:10.030187771Z"}]},"request_id":"80194b8d-dfd4-4b89-9f55-be184b237630","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.259243} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f944d60-2a5f-11ef-8ed1-011028b23f76"},"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/9d18e8ea-0e65-4448-9bd1-7f23f76f6031? 200 23ms","method":"GET","requestID":"7f93ff40-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9059fdb0-712c-4313-8ffc-d771cedd9215#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9059fdb0-712c-4313-8ffc-d771cedd9215","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"c903c725-8287-4801-8003-2c8c35460621","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.269262} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6af76371-7aa7-4634-9124-398dca1ac479","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.269512} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7aad321f2fe05d5c7b733309441723b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"GET /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd? 200 25ms","method":"GET","requestID":"7f944d60-2a5f-11ef-8ed1-011028b23f76","responseTime":25,"status":200,"url":"/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.033468,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7aad321f2fe05d5c7b733309441723b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 152ms","method":"POST","requestID":"d7aad321f2fe05d5c7b733309441723b","responseTime":152,"status":201,"url":"/experiments?"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","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":"7f990850-2a5f-11ef-8ed1-011028b23f76"},"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/9d18e8ea-0e65-4448-9bd1-7f23f76f6031/signaling 200 9ms","method":"POST","requestID":"7f990850-2a5f-11ef-8ed1-011028b23f76","responseTime":9,"status":200,"url":"/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4f81ecf8f8ea3f2cde43490b02881f43","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785086,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f81ecf8f8ea3f2cde43490b02881f43"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.552359,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","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":"7f9b0420-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d18e8ea-0e65-4448-9bd1-7f23f76f6031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:09.979677075Z"}]},"request_id":"a2e79bc1-5c9d-4b06-b934-c303665f0367","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.299654} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd/signaling 200 10ms","method":"POST","requestID":"7f9b0420-2a5f-11ef-8ed1-011028b23f76","responseTime":10,"status":200,"url":"/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f81ecf8f8ea3f2cde43490b02881f43"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"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":"015a52aa-c397-4a9c-8efc-34c6b0a355d9"},{"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":"9c1d115f-f712-4890-9008-04d92ac9ee7c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c9946b9c-eb77-4d52-823f-8f7380e89152"}]},"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/9d18e8ea-0e65-4448-9bd1-7f23f76f6031"},{"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/3928fdfb-8c8b-4cee-935d-db800a9e79cd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031? 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":"4f81ecf8f8ea3f2cde43490b02881f43"} device-1 | {"level":"info","message":"GET /devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031? 200 17ms","method":"GET","requestID":"4f81ecf8f8ea3f2cde43490b02881f43","responseTime":17,"status":200,"url":"/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031?"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.926721,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"7f9d2700-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"551cba0d2078fbe00fb9fa797594cef4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147636,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"551cba0d2078fbe00fb9fa797594cef4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"23031c94-87ad-4e61-b858-dfa6904d61c9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.322123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5ccb52b-a428-483c-b400-88c15db320a2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.322287} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f9d2700-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3928fdfb-8c8b-4cee-935d-db800a9e79cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:10.030187771Z"}]},"request_id":"3f3244cd-7548-4875-8b26-f9ba8e495711","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.3233454} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"551cba0d2078fbe00fb9fa797594cef4"},"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":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"551cba0d2078fbe00fb9fa797594cef4"} device-1 | {"level":"info","message":"GET /devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd? 200 25ms","method":"GET","requestID":"551cba0d2078fbe00fb9fa797594cef4","responseTime":25,"status":200,"url":"/devices/3928fdfb-8c8b-4cee-935d-db800a9e79cd?"} 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/75128aa5-4009-4550-b9d5-5609535a75de'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"7f9d2700-2a5f-11ef-8ed1-011028b23f76","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"75128aa5-4009-4550-b9d5-5609535a75de","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"75128aa5-4009-4550-b9d5-5609535a75de","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":"79c99aa07f834cc797b8a2edcd2fbabe","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/9d18e8ea-0e65-4448-9bd1-7f23f76f6031"},{"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/3928fdfb-8c8b-4cee-935d-db800a9e79cd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"79c99aa07f834cc797b8a2edcd2fbabe","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"79c99aa07f834cc797b8a2edcd2fbabe"} device-1 | {"data":{"peerconnection":"75128aa5-4009-4550-b9d5-5609535a75de","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"75128aa5-4009-4550-b9d5-5609535a75de","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"75128aa5-4009-4550-b9d5-5609535a75de","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":"1fe160a27d05bedb9dc10e68e36b17de","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/9d18e8ea-0e65-4448-9bd1-7f23f76f6031"},{"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/3928fdfb-8c8b-4cee-935d-db800a9e79cd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F75128aa5-4009-4550-b9d5-5609535a75de","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc36da1c-064e-44ee-a432-26e7a03d376c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.4498389} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.733152,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de","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":"7fb25cb0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/75128aa5-4009-4550-b9d5-5609535a75de 200 11ms","method":"GET","requestID":"7fb25cb0-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"1fe160a27d05bedb9dc10e68e36b17de","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"1fe160a27d05bedb9dc10e68e36b17de"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0412adc444605f4a81dfdab45133301d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.250035,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"0412adc444605f4a81dfdab45133301d"},"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/9059fdb0-712c-4313-8ffc-d771cedd9215"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9059fdb0-712c-4313-8ffc-d771cedd9215 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0412adc444605f4a81dfdab45133301d"} experiment-1 | {"level":"info","message":"GET /experiments/9059fdb0-712c-4313-8ffc-d771cedd9215 200 15ms","method":"GET","requestID":"0412adc444605f4a81dfdab45133301d","responseTime":15,"status":200,"url":"/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ba9e6bc4c377677cc91182abe868b2d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.361638,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"7ba9e6bc4c377677cc91182abe868b2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.250756,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"7fc680f0-2a5f-11ef-8ed1-011028b23f76"},"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/75128aa5-4009-4550-b9d5-5609535a75de' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"75128aa5-4009-4550-b9d5-5609535a75de","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)"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F75128aa5-4009-4550-b9d5-5609535a75de': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F75128aa5-4009-4550-b9d5-5609535a75de","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"f1293dea-7864-4507-8fd6-abc27a7d46ff","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.604792} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c962822355bbea8a32c17cba11d3605b","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9178954f-0555-4fd2-987e-9bdbdba6752c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.6052933} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"connected","url":"http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031"},{"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/3928fdfb-8c8b-4cee-935d-db800a9e79cd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a0405c8d7f737b14bd0db14e2a7c0caf","responseTime":1,"status":200,"url":"/auth"} 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":"7fc680f0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} 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/9d18e8ea-0e65-4448-9bd1-7f23f76f6031"},{"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/3928fdfb-8c8b-4cee-935d-db800a9e79cd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"75128aa5-4009-4550-b9d5-5609535a75de","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/75128aa5-4009-4550-b9d5-5609535a75de 204 50ms","method":"DELETE","requestID":"7fc680f0-2a5f-11ef-8ed1-011028b23f76","responseTime":50,"status":204,"url":"/peerconnections/75128aa5-4009-4550-b9d5-5609535a75de"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9059fdb0-712c-4313-8ffc-d771cedd9215': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9059fdb0-712c-4313-8ffc-d771cedd9215","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"b28d7c44-b81b-426e-ae69-91e54e70d261","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.6625729} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74fae66a-2c29-4232-8342-ee817e39289d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.6631677} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ba9e6bc4c377677cc91182abe868b2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9059fdb0-712c-4313-8ffc-d771cedd9215 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ba9e6bc4c377677cc91182abe868b2d"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1640","request_time":"2.158","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"359a7eee8a37e6f4a7d2a4013730cec8"} experiment-1 | {"level":"info","message":"DELETE /experiments/9059fdb0-712c-4313-8ffc-d771cedd9215 204 167ms","method":"DELETE","requestID":"7ba9e6bc4c377677cc91182abe868b2d","responseTime":167,"status":204,"url":"/experiments/9059fdb0-712c-4313-8ffc-d771cedd9215"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"c962822355bbea8a32c17cba11d3605b","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"c962822355bbea8a32c17cba11d3605b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"a0405c8d7f737b14bd0db14e2a7c0caf","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"a0405c8d7f737b14bd0db14e2a7c0caf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5a51f5a6ae32f378ea2b064cd15c7b0e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"0.688","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ad00c7efa67ca311ef7934646c0fd1f1"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.288984,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"5a51f5a6ae32f378ea2b064cd15c7b0e"},"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/3928fdfb-8c8b-4cee-935d-db800a9e79cd' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"24f367da-6fe6-4d5e-9e21-a8262b9af179","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.7594118} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a51f5a6ae32f378ea2b064cd15c7b0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9d18e8ea-0e65-4448-9bd1-7f23f76f6031' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fe1b732-748b-4057-af51-f7c0db86bb0e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.765912} 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":"5a51f5a6ae32f378ea2b064cd15c7b0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"b66ee809-7b32-4847-870b-1710d2c97206","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.777735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19567013-98ac-4738-ab17-def87e09ad29","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.7779107} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a51f5a6ae32f378ea2b064cd15c7b0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.777704422Z"}]},"request_id":"af6b6f89-c28a-400d-9ef4-987b47b8c3f2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.7822464} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a51f5a6ae32f378ea2b064cd15c7b0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a51f5a6ae32f378ea2b064cd15c7b0e"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"5a51f5a6ae32f378ea2b064cd15c7b0e","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc8ecdb0848dba36993933d64227379b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.834718,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377512,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxMn0.kp8L_ncElnIGttWg289J8-g98ht6kB7DAMIjSyl_k4Q"} 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":"cc8ecdb0848dba36993933d64227379b"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cfa9bbec-bb89-4b74-a12a-e219a112fb04","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.806065} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc8ecdb0848dba36993933d64227379b"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa70f1d9-2b3a-4ae5-a4ce-e85e416782ca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.8117776} 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":"cc8ecdb0848dba36993933d64227379b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"82d6c0a2-c73b-4de7-a54a-a13145098cca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.8271248} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c00a027a-4ad6-440d-82c4-5b0ab1b06dad","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.8272536} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc8ecdb0848dba36993933d64227379b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.827103982Z"}]},"request_id":"196a22db-d575-42e7-bfda-f4b79cbea9c4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377512.830616} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc8ecdb0848dba36993933d64227379b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc8ecdb0848dba36993933d64227379b"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"cc8ecdb0848dba36993933d64227379b","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxM30.M3rT0AJK4cKwBjGEcjLYkZajPc99oiKLGLL8hX1yApA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c0bb0e97019139632c6ac8312779925c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843675,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377513,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxM30.M3rT0AJK4cKwBjGEcjLYkZajPc99oiKLGLL8hX1yApA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0bb0e97019139632c6ac8312779925c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.777704422Z"}]},"request_id":"2f551e87-b563-41e6-9ae6-9a4b2b8ee5fb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377513.304938} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0bb0e97019139632c6ac8312779925c"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3285887a-6726-47d9-a64e-b105b36eb424","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377513.3107688} 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":"c0bb0e97019139632c6ac8312779925c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.777704422Z"}]},"request_id":"e9184727-6808-4e5d-a67b-6b2b55809e89","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377513.3228278} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0bb0e97019139632c6ac8312779925c"},"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":"14/Jun/2024:15:05:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f7058d90-778f-4b8f-8923-41eb1c7717d0 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c0bb0e97019139632c6ac8312779925c"} device-1 | {"level":"info","message":"PATCH /devices/f7058d90-778f-4b8f-8923-41eb1c7717d0 200 34ms","method":"PATCH","requestID":"c0bb0e97019139632c6ac8312779925c","responseTime":34,"status":200,"url":"/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxM30.M3rT0AJK4cKwBjGEcjLYkZajPc99oiKLGLL8hX1yApA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fc737e3b979dde4a7ec74e7bca80283b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:13Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753761,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377513,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxM30.M3rT0AJK4cKwBjGEcjLYkZajPc99oiKLGLL8hX1yApA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc737e3b979dde4a7ec74e7bca80283b"},"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":"14/Jun/2024:15:05:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f7058d90-778f-4b8f-8923-41eb1c7717d0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fc737e3b979dde4a7ec74e7bca80283b"} device-1 | {"level":"info","message":"POST /devices/f7058d90-778f-4b8f-8923-41eb1c7717d0/websocket 200 16ms","method":"POST","requestID":"fc737e3b979dde4a7ec74e7bca80283b","responseTime":16,"status":200,"url":"/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0' 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":"846f239bd45bb66e97b653defbc583b1","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f/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":"846f239bd45bb66e97b653defbc583b1"} device-1 | {"level":"info","message":"OPTIONS /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f/websocket 200 1ms","method":"OPTIONS","requestID":"846f239bd45bb66e97b653defbc583b1","responseTime":1,"status":200,"url":"/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6019bff6883f640787c0c4f908e40ced","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.235653,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} 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":"6019bff6883f640787c0c4f908e40ced"},"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":"14/Jun/2024:15:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6019bff6883f640787c0c4f908e40ced"} device-1 | {"level":"info","message":"POST /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f/websocket 200 22ms","method":"POST","requestID":"6019bff6883f640787c0c4f908e40ced","responseTime":22,"status":200,"url":"/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"68c034561123f5a6d4fe88209a3164ce","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240952,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} 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":"68c034561123f5a6d4fe88209a3164ce"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.777704422Z"}]},"request_id":"6aa89727-4764-40af-8791-2de1298152f0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377514.9023936} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68c034561123f5a6d4fe88209a3164ce"},"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/f7058d90-778f-4b8f-8923-41eb1c7717d0? 200 20ms","method":"GET","requestID":"68c034561123f5a6d4fe88209a3164ce","responseTime":20,"status":200,"url":"/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f7058d90-778f-4b8f-8923-41eb1c7717d0? 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":"68c034561123f5a6d4fe88209a3164ce"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bdf7d34a55f8e50aebd9326bd3b99858","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.125787,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} 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":"bdf7d34a55f8e50aebd9326bd3b99858"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.827103982Z"}]},"request_id":"e9c9b940-6033-462d-b12a-0645908c4b68","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377514.9283245} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bdf7d34a55f8e50aebd9326bd3b99858"},"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":"14/Jun/2024:15:05:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f? 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":"bdf7d34a55f8e50aebd9326bd3b99858"} device-1 | {"level":"info","message":"GET /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f? 200 18ms","method":"GET","requestID":"bdf7d34a55f8e50aebd9326bd3b99858","responseTime":18,"status":200,"url":"/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a62bdfbbf09125009c2ff98e424302bb","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:44380","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.149788,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} 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":"a62bdfbbf09125009c2ff98e424302bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"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:44380","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102205,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8135ef70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970794,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81361680-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.777704422Z"}]},"request_id":"44a0b719-4d70-4c51-9c5a-e8ead7e4f531","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377514.9921443} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8135ef70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.827103982Z"}]},"request_id":"baeef995-d26d-4a82-a972-203d2d9b8b9b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377514.9968812} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81361680-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"GET /devices/f7058d90-778f-4b8f-8923-41eb1c7717d0? 200 19ms","method":"GET","requestID":"8135ef70-2a5f-11ef-8ed1-011028b23f76","responseTime":19,"status":200,"url":"/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Attempting to lock booking for experiment"} device-1 | {"level":"info","message":"GET /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f? 200 22ms","method":"GET","requestID":"81361680-2a5f-11ef-8ed1-011028b23f76","responseTime":22,"status":200,"url":"/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"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/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232344,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} 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":"81409dd0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929501,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} 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":"8140ebf0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.777704422Z"}]},"request_id":"0eca22b3-0cc0-4320-8a78-82b034f5f928","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377515.0677395} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81409dd0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.827103982Z"}]},"request_id":"c886b4ac-fa9f-415b-81f3-115880cf1ddf","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377515.0690837} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8140ebf0-2a5f-11ef-8ed1-011028b23f76"},"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/f7058d90-778f-4b8f-8923-41eb1c7717d0? 200 23ms","method":"GET","requestID":"81409dd0-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f? 200 22ms","method":"GET","requestID":"8140ebf0-2a5f-11ef-8ed1-011028b23f76","responseTime":22,"status":200,"url":"/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fed5aeb73-326b-4647-9511-c12ffe880695#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fed5aeb73-326b-4647-9511-c12ffe880695","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"e4446cdd-0bda-4636-b848-d984d6f533cd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377515.0837255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e06df80-cdd6-43ee-98e1-990582f0a887","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377515.0842223} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a62bdfbbf09125009c2ff98e424302bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.203515,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","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":"8144bc80-2a5f-11ef-8ed1-011028b23f76"},"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/f7058d90-778f-4b8f-8923-41eb1c7717d0/signaling 200 14ms","method":"POST","requestID":"8144bc80-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"POST /experiments? 201 158ms","method":"POST","requestID":"a62bdfbbf09125009c2ff98e424302bb","responseTime":158,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a62bdfbbf09125009c2ff98e424302bb"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.765755,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:15Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNX0.Wy7VIFHR9ErlXnGNJIsX8hXr_fzMm4hJ4Ge8n9IwpP0","level":"info","message":"auth send jwt"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ad40dfc3a622ce63f6c8c1dac9f0adff","responseTime":3,"status":200,"url":"/auth"} 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":"81477ba0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f/signaling 200 10ms","method":"POST","requestID":"81477ba0-2a5f-11ef-8ed1-011028b23f76","responseTime":10,"status":200,"url":"/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940646,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:15Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"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":"47ad86dd-63e6-4ff6-a537-370ea2e10836"},{"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":"896f8225-eda1-4231-8c5c-89ebc3dee7a0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c0efcfdd-3797-4803-9a86-4d7c436f3e67"}]},"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/f7058d90-778f-4b8f-8923-41eb1c7717d0"},{"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/8a311186-4f10-4b86-ab5e-bf2300e2367f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377515,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNX0.Wy7VIFHR9ErlXnGNJIsX8hXr_fzMm4hJ4Ge8n9IwpP0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad40dfc3a622ce63f6c8c1dac9f0adff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7058d90-778f-4b8f-8923-41eb1c7717d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.777704422Z"}]},"request_id":"b5d9f2a1-fdbd-437f-8b3b-9fac9e6ab369","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377515.1139312} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad40dfc3a622ce63f6c8c1dac9f0adff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.751847,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377514,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNH0.emrFptokPn7KHzuUje9cCai1TyzSlAPhrvCk9UmFL2k"} gateway-1 | {"time_local":"14/Jun/2024:15:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f7058d90-778f-4b8f-8923-41eb1c7717d0? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad40dfc3a622ce63f6c8c1dac9f0adff"} device-1 | {"level":"info","message":"GET /devices/f7058d90-778f-4b8f-8923-41eb1c7717d0? 200 11ms","method":"GET","requestID":"ad40dfc3a622ce63f6c8c1dac9f0adff","responseTime":11,"status":200,"url":"/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0?"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81499e80-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNX0.Wy7VIFHR9ErlXnGNJIsX8hXr_fzMm4hJ4Ge8n9IwpP0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b9e6e12d8a5ad01f83d5dfe3a1e395c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"36019538-ead8-4ca2-970e-e9c1c01fba02","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377515.1255777} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ec3007a-3e80-42ff-8921-85c789d734f6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377515.1259077} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74816,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:15Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81499e80-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377515,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNX0.Wy7VIFHR9ErlXnGNJIsX8hXr_fzMm4hJ4Ge8n9IwpP0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b9e6e12d8a5ad01f83d5dfe3a1e395c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a311186-4f10-4b86-ab5e-bf2300e2367f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:12.827103982Z"}]},"request_id":"a4fc91f5-688e-4580-9ed9-6dd8bc179e03","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377515.1317735} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b9e6e12d8a5ad01f83d5dfe3a1e395c"},"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/7ef52618-2dc9-4857-87ad-882b2ebe90c7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"81499e80-2a5f-11ef-8ed1-011028b23f76","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f? 200 18ms","method":"GET","requestID":"1b9e6e12d8a5ad01f83d5dfe3a1e395c","responseTime":18,"status":200,"url":"/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8a311186-4f10-4b86-ab5e-bf2300e2367f? 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":"1b9e6e12d8a5ad01f83d5dfe3a1e395c"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"7ef52618-2dc9-4857-87ad-882b2ebe90c7","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/7ef52618-2dc9-4857-87ad-882b2ebe90c7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7ef52618-2dc9-4857-87ad-882b2ebe90c7","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":"d3dbe1593ef7901d66461a9e6cef5f9b","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/f7058d90-778f-4b8f-8923-41eb1c7717d0"},{"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/8a311186-4f10-4b86-ab5e-bf2300e2367f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"d3dbe1593ef7901d66461a9e6cef5f9b","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"d3dbe1593ef7901d66461a9e6cef5f9b"} device-1 | {"data":{"peerconnection":"7ef52618-2dc9-4857-87ad-882b2ebe90c7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7ef52618-2dc9-4857-87ad-882b2ebe90c7","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7ef52618-2dc9-4857-87ad-882b2ebe90c7","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":"e72e08bb0f135e7e10b38d80a27dee10","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/f7058d90-778f-4b8f-8923-41eb1c7717d0"},{"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/8a311186-4f10-4b86-ab5e-bf2300e2367f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7ef52618-2dc9-4857-87ad-882b2ebe90c7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c19e13e-386e-4c40-b834-7883cb5f1d5f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.2711182} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.623515,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7","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":"81f98d90-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7 200 11ms","method":"GET","requestID":"81f98d90-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"e72e08bb0f135e7e10b38d80a27dee10","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"e72e08bb0f135e7e10b38d80a27dee10"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"64c69c152c00a3e93a34b72cf91e25af","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ed5aeb73-326b-4647-9511-c12ffe880695"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.293267,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377516,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI"} 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":"64c69c152c00a3e93a34b72cf91e25af"},"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/ed5aeb73-326b-4647-9511-c12ffe880695"} experiment-1 | {"level":"info","message":"GET /experiments/ed5aeb73-326b-4647-9511-c12ffe880695 200 16ms","method":"GET","requestID":"64c69c152c00a3e93a34b72cf91e25af","responseTime":16,"status":200,"url":"/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"} gateway-1 | {"time_local":"14/Jun/2024:15:05:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ed5aeb73-326b-4647-9511-c12ffe880695 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64c69c152c00a3e93a34b72cf91e25af"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a40e1e13109f476386a15c1b7a7c37e2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ed5aeb73-326b-4647-9511-c12ffe880695"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.136743,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377516,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI"} 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":"a40e1e13109f476386a15c1b7a7c37e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.318397,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377516,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI"} 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":"820c2b30-2a5f-11ef-8ed1-011028b23f76"},"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/7ef52618-2dc9-4857-87ad-882b2ebe90c7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7ef52618-2dc9-4857-87ad-882b2ebe90c7","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":"b24878e2a931b4d66db5a2f8a169bee2","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":"closed","url":"http://localhost/devices/f7058d90-778f-4b8f-8923-41eb1c7717d0"},{"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/8a311186-4f10-4b86-ab5e-bf2300e2367f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7"}}},"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":"2126511e029e0241bec8d027bb568a30","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/f7058d90-778f-4b8f-8923-41eb1c7717d0"},{"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/8a311186-4f10-4b86-ab5e-bf2300e2367f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7ef52618-2dc9-4857-87ad-882b2ebe90c7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7ef52618-2dc9-4857-87ad-882b2ebe90c7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"75df495e-bf6b-4503-aa25-60bd05c6d59f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.4159615} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"960d22dd-eed7-4654-8627-0067929f096f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.4173057} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"820c2b30-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"data":{"peerconnection":"7ef52618-2dc9-4857-87ad-882b2ebe90c7","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/7ef52618-2dc9-4857-87ad-882b2ebe90c7 204 47ms","method":"DELETE","requestID":"820c2b30-2a5f-11ef-8ed1-011028b23f76","responseTime":47,"status":204,"url":"/peerconnections/7ef52618-2dc9-4857-87ad-882b2ebe90c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fed5aeb73-326b-4647-9511-c12ffe880695': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fed5aeb73-326b-4647-9511-c12ffe880695","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"6301228c-aa69-4e9a-a0f6-0a967e046414","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.4706473} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bdc6d45-7bc9-4c32-92dd-ad8ffaeccd2b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.4711034} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40e1e13109f476386a15c1b7a7c37e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ed5aeb73-326b-4647-9511-c12ffe880695"} gateway-1 | {"time_local":"14/Jun/2024:15:05:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ed5aeb73-326b-4647-9511-c12ffe880695 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a40e1e13109f476386a15c1b7a7c37e2"} gateway-1 | {"time_local":"14/Jun/2024:15:05:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"3.193","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"883f319255120dba08309a39b54edaa2"} experiment-1 | {"level":"info","message":"DELETE /experiments/ed5aeb73-326b-4647-9511-c12ffe880695 204 174ms","method":"DELETE","requestID":"a40e1e13109f476386a15c1b7a7c37e2","responseTime":174,"status":204,"url":"/experiments/ed5aeb73-326b-4647-9511-c12ffe880695"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"b24878e2a931b4d66db5a2f8a169bee2","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"b24878e2a931b4d66db5a2f8a169bee2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"2126511e029e0241bec8d027bb568a30","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"2126511e029e0241bec8d027bb568a30"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e0fa2ab51e1393749bdaf6d9abcff17b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.950118,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:16Z"} gateway-1 | {"time_local":"14/Jun/2024:15:05:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1717","request_time":"1.692","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c42c332e200a61a7a742d992c9b3f189"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377516,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI"} 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":"e0fa2ab51e1393749bdaf6d9abcff17b"},"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/f7058d90-778f-4b8f-8923-41eb1c7717d0' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"980b8a3f-91b6-4136-99fd-328a2228e1b8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.5789862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0fa2ab51e1393749bdaf6d9abcff17b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8a311186-4f10-4b86-ab5e-bf2300e2367f' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1311a059-54ba-41c7-85d9-5b28a6987c5a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.584976} 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":"e0fa2ab51e1393749bdaf6d9abcff17b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"66bbeb7e-233a-48b5-9d16-c4616ca1afc6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.5941427} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"237fdb3c-4bcb-4500-814a-f63d1ef915c1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.5942261} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0fa2ab51e1393749bdaf6d9abcff17b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.594119927Z"}]},"request_id":"5eee27d2-d86c-4a99-afb7-393045f6f506","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.598653} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0fa2ab51e1393749bdaf6d9abcff17b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0fa2ab51e1393749bdaf6d9abcff17b"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"e0fa2ab51e1393749bdaf6d9abcff17b","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"160ba723536479eb802f27ed5790e7f8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.714854,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377516,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxNn0.Jah_CTvw6zSBpCaSdL_4z1thYHVIER6zqMuCdl2YEfI"} 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":"160ba723536479eb802f27ed5790e7f8"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"12c1c759-9e96-4101-aaba-0e3aff45b915","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.6272058} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"160ba723536479eb802f27ed5790e7f8"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7961ac7-2f38-452f-8d9e-a02da9a3a6fb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.6319802} 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":"160ba723536479eb802f27ed5790e7f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"4f045721-1864-4caf-804e-1a7024d80feb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.6427705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f19273f2-3681-4d6e-ba46-3708b0d5a2b0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.6428962} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"160ba723536479eb802f27ed5790e7f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.642747815Z"}]},"request_id":"841ee987-ee19-49b7-a975-cf3592a337f6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377516.64814} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"160ba723536479eb802f27ed5790e7f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"160ba723536479eb802f27ed5790e7f8"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"160ba723536479eb802f27ed5790e7f8","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxN30.hYk5sBctgUbkUrxzxUsqzNjKW7DOP-LqF66tuwjPxBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"42234ca9c0280e00187dd138056afb4d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.392347,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377517,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxN30.hYk5sBctgUbkUrxzxUsqzNjKW7DOP-LqF66tuwjPxBY"} 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":"42234ca9c0280e00187dd138056afb4d"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.594119927Z"}]},"request_id":"15ccef8b-1c6a-4620-85ae-44494eee87c7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377517.13647} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42234ca9c0280e00187dd138056afb4d"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"774cd3ec-abea-4535-ab63-19f1990a10ca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377517.144489} 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":"42234ca9c0280e00187dd138056afb4d"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.594119927Z"}]},"request_id":"6ab56654-06fa-4f26-be2f-67de0d3f6e13","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377517.1583152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42234ca9c0280e00187dd138056afb4d"},"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/51eb8942-3258-496c-9f8f-d41bec06be87 200 40ms","method":"PATCH","requestID":"42234ca9c0280e00187dd138056afb4d","responseTime":40,"status":200,"url":"/devices/51eb8942-3258-496c-9f8f-d41bec06be87"} gateway-1 | {"time_local":"14/Jun/2024:15:05:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/51eb8942-3258-496c-9f8f-d41bec06be87 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"42234ca9c0280e00187dd138056afb4d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxN30.hYk5sBctgUbkUrxzxUsqzNjKW7DOP-LqF66tuwjPxBY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2ade2786a4c10191fbf241d224308579","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:17Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.171246,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377517,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxN30.hYk5sBctgUbkUrxzxUsqzNjKW7DOP-LqF66tuwjPxBY"} 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":"2ade2786a4c10191fbf241d224308579"},"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":"14/Jun/2024:15:05:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/51eb8942-3258-496c-9f8f-d41bec06be87/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2ade2786a4c10191fbf241d224308579"} device-1 | {"level":"info","message":"POST /devices/51eb8942-3258-496c-9f8f-d41bec06be87/websocket 200 21ms","method":"POST","requestID":"2ade2786a4c10191fbf241d224308579","responseTime":21,"status":200,"url":"/devices/51eb8942-3258-496c-9f8f-d41bec06be87/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87' 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":"c56c1a97bad86817c9916fe0ad497d12","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/015d1336-2eb8-47f5-817e-23c37da7ef53/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":"c56c1a97bad86817c9916fe0ad497d12"} device-1 | {"level":"info","message":"OPTIONS /devices/015d1336-2eb8-47f5-817e-23c37da7ef53/websocket 200 1ms","method":"OPTIONS","requestID":"c56c1a97bad86817c9916fe0ad497d12","responseTime":1,"status":200,"url":"/devices/015d1336-2eb8-47f5-817e-23c37da7ef53/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"697d5eb1b608ea3bb95409ad2ce917af","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.275739,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} 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":"697d5eb1b608ea3bb95409ad2ce917af"},"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/015d1336-2eb8-47f5-817e-23c37da7ef53/websocket 200 23ms","method":"POST","requestID":"697d5eb1b608ea3bb95409ad2ce917af","responseTime":23,"status":200,"url":"/devices/015d1336-2eb8-47f5-817e-23c37da7ef53/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/015d1336-2eb8-47f5-817e-23c37da7ef53/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"697d5eb1b608ea3bb95409ad2ce917af"} device-1 | {"level":"info","message":"device 'http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6821b83150ca563919f05dd17eb49896","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.512499,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} 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":"6821b83150ca563919f05dd17eb49896"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.594119927Z"}]},"request_id":"1bee78f6-743d-4bda-b20c-96aae41ec65e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.7057667} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6821b83150ca563919f05dd17eb49896"},"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":"14/Jun/2024:15:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51eb8942-3258-496c-9f8f-d41bec06be87? 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":"6821b83150ca563919f05dd17eb49896"} device-1 | {"level":"info","message":"GET /devices/51eb8942-3258-496c-9f8f-d41bec06be87? 200 20ms","method":"GET","requestID":"6821b83150ca563919f05dd17eb49896","responseTime":20,"status":200,"url":"/devices/51eb8942-3258-496c-9f8f-d41bec06be87?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"653b0a0506a90bdc7afc9fdc4915005a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.234954,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} 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":"653b0a0506a90bdc7afc9fdc4915005a"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.642747815Z"}]},"request_id":"49739aca-1307-4ca6-86a9-e99c83a8b564","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.7324698} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"653b0a0506a90bdc7afc9fdc4915005a"},"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":"14/Jun/2024:15:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/015d1336-2eb8-47f5-817e-23c37da7ef53? 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":"653b0a0506a90bdc7afc9fdc4915005a"} device-1 | {"level":"info","message":"GET /devices/015d1336-2eb8-47f5-817e-23c37da7ef53? 200 19ms","method":"GET","requestID":"653b0a0506a90bdc7afc9fdc4915005a","responseTime":19,"status":200,"url":"/devices/015d1336-2eb8-47f5-817e-23c37da7ef53?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8ce15c88d532f90d02d94e30c191f33f","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:44380","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.163789,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} 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":"8ce15c88d532f90d02d94e30c191f33f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"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:44380","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.261337,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"837afd70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190198,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"837b2480-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.594119927Z"}]},"request_id":"9d83ec39-f2de-4aa8-8c61-1ba57c5711e1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.7996888} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"837afd70-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.642747815Z"}]},"request_id":"904c8143-fd38-4a50-8e16-02c39b44b3f3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.800316} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"837b2480-2a5f-11ef-8ed1-011028b23f76"},"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/51eb8942-3258-496c-9f8f-d41bec06be87? 200 15ms","method":"GET","requestID":"837afd70-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/51eb8942-3258-496c-9f8f-d41bec06be87?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/015d1336-2eb8-47f5-817e-23c37da7ef53? 200 15ms","method":"GET","requestID":"837b2480-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/015d1336-2eb8-47f5-817e-23c37da7ef53?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"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/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837268,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"838584c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.505502,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8385d2e0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.594119927Z"}]},"request_id":"19748ca6-8eb3-44cc-b30e-15a4a0a355bb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.8695674} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"838584c0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.642747815Z"}]},"request_id":"09042a1d-c42d-4b5b-9faa-1d6119ca50c9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.8700702} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8385d2e0-2a5f-11ef-8ed1-011028b23f76"},"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/51eb8942-3258-496c-9f8f-d41bec06be87? 200 16ms","method":"GET","requestID":"838584c0-2a5f-11ef-8ed1-011028b23f76","responseTime":16,"status":200,"url":"/devices/51eb8942-3258-496c-9f8f-d41bec06be87?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/015d1336-2eb8-47f5-817e-23c37da7ef53? 200 16ms","method":"GET","requestID":"8385d2e0-2a5f-11ef-8ed1-011028b23f76","responseTime":16,"status":200,"url":"/devices/015d1336-2eb8-47f5-817e-23c37da7ef53?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ebfcc01-7f46-4d84-811a-5e9118e6ecf1#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ebfcc01-7f46-4d84-811a-5e9118e6ecf1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"7ad62ea9-3d1d-4866-bda9-769aa2cf64b7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.8825665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e19434c1-49f2-4cd3-992e-40d2193314e9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.88279} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ce15c88d532f90d02d94e30c191f33f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.777852,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","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":"83889200-2a5f-11ef-8ed1-011028b23f76"},"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/51eb8942-3258-496c-9f8f-d41bec06be87/signaling 200 9ms","method":"POST","requestID":"83889200-2a5f-11ef-8ed1-011028b23f76","responseTime":9,"status":200,"url":"/devices/51eb8942-3258-496c-9f8f-d41bec06be87/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 147ms","method":"POST","requestID":"8ce15c88d532f90d02d94e30c191f33f","responseTime":147,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ce15c88d532f90d02d94e30c191f33f"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.555372,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo","level":"info","message":"auth send jwt"} 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":"838ab4e0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29706da6ab2ad09cedc9139886e3acb8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/015d1336-2eb8-47f5-817e-23c37da7ef53/signaling 200 11ms","method":"POST","requestID":"838ab4e0-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/015d1336-2eb8-47f5-817e-23c37da7ef53/signaling"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"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":"1d85d98c-d1fe-4e0a-9eb0-558f7948ab39"},{"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":"d1d29910-086a-4541-a008-679d0b8297b0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0faf1909-0c06-423f-8b7f-132d65742699"}]},"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/015d1336-2eb8-47f5-817e-23c37da7ef53"},{"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/51eb8942-3258-496c-9f8f-d41bec06be87"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.107507,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/51eb8942-3258-496c-9f8f-d41bec06be87","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29706da6ab2ad09cedc9139886e3acb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.053754,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} 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":"838cd7c0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb8942-3258-496c-9f8f-d41bec06be87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.594119927Z"}]},"request_id":"d4eb4563-7811-4f55-98af-56320a7b2cea","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.9128716} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29706da6ab2ad09cedc9139886e3acb8"},"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":"14/Jun/2024:15:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51eb8942-3258-496c-9f8f-d41bec06be87? 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":"29706da6ab2ad09cedc9139886e3acb8"} device-1 | {"level":"info","message":"GET /devices/51eb8942-3258-496c-9f8f-d41bec06be87? 200 15ms","method":"GET","requestID":"29706da6ab2ad09cedc9139886e3acb8","responseTime":15,"status":200,"url":"/devices/51eb8942-3258-496c-9f8f-d41bec06be87?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo","level":"info","message":"auth send jwt"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"1e6dd0f6-1cb9-40f0-b4fa-9ed8098040f5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.9231722} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"43352b0ac990252873c3821b908cab1d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d33b41c-322b-4f4d-971c-2fee88628e14","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.9237423} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"838cd7c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.09564,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377518,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOH0.cqtRv46whB9pbqpP_utclg6jwNEJ8dQoTs50huLcRoo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43352b0ac990252873c3821b908cab1d"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F015d1336-2eb8-47f5-817e-23c37da7ef53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:16.642747815Z"}]},"request_id":"40382a68-1e3c-443d-9594-52741370a932","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377518.9333637} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43352b0ac990252873c3821b908cab1d"},"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/12d9bc04-9194-43d0-a463-18c317f7b5bf'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"838cd7c0-2a5f-11ef-8ed1-011028b23f76","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/015d1336-2eb8-47f5-817e-23c37da7ef53? 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":"43352b0ac990252873c3821b908cab1d"} device-1 | {"level":"info","message":"GET /devices/015d1336-2eb8-47f5-817e-23c37da7ef53? 200 16ms","method":"GET","requestID":"43352b0ac990252873c3821b908cab1d","responseTime":16,"status":200,"url":"/devices/015d1336-2eb8-47f5-817e-23c37da7ef53?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"12d9bc04-9194-43d0-a463-18c317f7b5bf","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"12d9bc04-9194-43d0-a463-18c317f7b5bf","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":"a7459bc38ebd10a0dacaca11879b184a","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/015d1336-2eb8-47f5-817e-23c37da7ef53"},{"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/51eb8942-3258-496c-9f8f-d41bec06be87"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"a7459bc38ebd10a0dacaca11879b184a","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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":"a7459bc38ebd10a0dacaca11879b184a"} device-1 | {"data":{"peerconnection":"12d9bc04-9194-43d0-a463-18c317f7b5bf","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"12d9bc04-9194-43d0-a463-18c317f7b5bf","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"12d9bc04-9194-43d0-a463-18c317f7b5bf","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":"8768c2e5dc7080b4f01709c6a56f0859","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/015d1336-2eb8-47f5-817e-23c37da7ef53"},{"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/51eb8942-3258-496c-9f8f-d41bec06be87"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F12d9bc04-9194-43d0-a463-18c317f7b5bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aed66918-32ae-4a45-a942-f306e9a7abbd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.0632036} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.154457,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf","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":"83a39410-2a5f-11ef-8ed1-011028b23f76"},"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/12d9bc04-9194-43d0-a463-18c317f7b5bf 200 10ms","method":"GET","requestID":"83a39410-2a5f-11ef-8ed1-011028b23f76","responseTime":10,"status":200,"url":"/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"8768c2e5dc7080b4f01709c6a56f0859","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"8768c2e5dc7080b4f01709c6a56f0859"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"77f170b73a329168d86541b8b458bbdb","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.39493,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} 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":"77f170b73a329168d86541b8b458bbdb"},"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/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"} gateway-1 | {"time_local":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77f170b73a329168d86541b8b458bbdb"} experiment-1 | {"level":"info","message":"GET /experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1 200 17ms","method":"GET","requestID":"77f170b73a329168d86541b8b458bbdb","responseTime":17,"status":200,"url":"/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"25342d8cb297aaf2a4f3970a5acd7413","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.412668,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} 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":"25342d8cb297aaf2a4f3970a5acd7413"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.220688,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} 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":"83b85490-2a5f-11ef-8ed1-011028b23f76"},"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/12d9bc04-9194-43d0-a463-18c317f7b5bf' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"12d9bc04-9194-43d0-a463-18c317f7b5bf","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F12d9bc04-9194-43d0-a463-18c317f7b5bf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F12d9bc04-9194-43d0-a463-18c317f7b5bf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"e75a04ce-9f19-416d-a63c-5092c4bb37ee","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.2206762} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"eca67e014cca084798e1405975e94719","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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"461da87a-ad10-4864-b401-72e3e3725bd1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.221188} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"connected","url":"http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53"},{"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/51eb8942-3258-496c-9f8f-d41bec06be87"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83b85490-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"11ed087fcb19af6deaa4a68823bd3dbf","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53"},{"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/51eb8942-3258-496c-9f8f-d41bec06be87"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"12d9bc04-9194-43d0-a463-18c317f7b5bf","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/12d9bc04-9194-43d0-a463-18c317f7b5bf 204 51ms","method":"DELETE","requestID":"83b85490-2a5f-11ef-8ed1-011028b23f76","responseTime":51,"status":204,"url":"/peerconnections/12d9bc04-9194-43d0-a463-18c317f7b5bf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ebfcc01-7f46-4d84-811a-5e9118e6ecf1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ebfcc01-7f46-4d84-811a-5e9118e6ecf1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"85e21dfd-101b-4108-baa7-c1038cc69b07","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.2716293} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f486b6ad-5276-4d3b-9996-c043c13da39c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.2718916} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25342d8cb297aaf2a4f3970a5acd7413"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"} gateway-1 | {"time_local":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25342d8cb297aaf2a4f3970a5acd7413"} experiment-1 | {"level":"info","message":"DELETE /experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1 204 154ms","method":"DELETE","requestID":"25342d8cb297aaf2a4f3970a5acd7413","responseTime":154,"status":204,"url":"/experiments/7ebfcc01-7f46-4d84-811a-5e9118e6ecf1"} gateway-1 | {"time_local":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1642","request_time":"2.138","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"44d71cc9f6bd712c6e0fe792e18893b5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"eca67e014cca084798e1405975e94719","responseTime":108,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"eca67e014cca084798e1405975e94719"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"11ed087fcb19af6deaa4a68823bd3dbf","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"11ed087fcb19af6deaa4a68823bd3dbf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ac73a8f9ebbde4e6c8fc43f65f4f16d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"0.671","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"afc2fa3ccb0742f492bd0791c4119634"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943947,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} 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":"7ac73a8f9ebbde4e6c8fc43f65f4f16d"},"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/51eb8942-3258-496c-9f8f-d41bec06be87' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9e5e410d-289d-40ce-8674-f65ed3c351fb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.3627572} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ac73a8f9ebbde4e6c8fc43f65f4f16d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/015d1336-2eb8-47f5-817e-23c37da7ef53' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fad9376-9d8b-4e69-b379-8cb92ef76bbe","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.369001} 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":"7ac73a8f9ebbde4e6c8fc43f65f4f16d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"377ea119-0c4f-4d96-b458-ddb5776002e1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.378898} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"248a9c07-a98d-40d2-8b34-37f38e5a922b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.3792732} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ac73a8f9ebbde4e6c8fc43f65f4f16d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.378869764Z"}]},"request_id":"fad49649-283a-4aa1-9e38-41cf7706790d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.384606} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ac73a8f9ebbde4e6c8fc43f65f4f16d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ac73a8f9ebbde4e6c8fc43f65f4f16d"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"7ac73a8f9ebbde4e6c8fc43f65f4f16d","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"76deb6ad3e99f7b6210927e7c30e05cb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71223,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} 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":"76deb6ad3e99f7b6210927e7c30e05cb"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ed8d6849-1909-4b48-86aa-2fc811141913","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.4093268} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76deb6ad3e99f7b6210927e7c30e05cb"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7b0a631-421f-4fa1-a7e5-5f4dcd091672","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.4140544} 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":"76deb6ad3e99f7b6210927e7c30e05cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"d27f4e2b-c1f6-41e0-82ef-f4389ceb460f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.4303129} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4064b53d-bdf7-4bbc-a385-535de015c410","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.430518} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76deb6ad3e99f7b6210927e7c30e05cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.430290881Z"}]},"request_id":"408cbba1-5793-44cd-85b8-87837c6185a0","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.4347277} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76deb6ad3e99f7b6210927e7c30e05cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"76deb6ad3e99f7b6210927e7c30e05cb"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"76deb6ad3e99f7b6210927e7c30e05cb","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"47769d7a832d07794ab29c7a0b17609a","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"43594ce75bbd751cb250957ce7d8aaeb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607939,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47769d7a832d07794ab29c7a0b17609a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606101,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43594ce75bbd751cb250957ce7d8aaeb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.430290881Z"}]},"request_id":"f04b4358-8e2b-497c-ae5c-b8d9b347938e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.9034703} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47769d7a832d07794ab29c7a0b17609a"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.378869764Z"}]},"request_id":"1a00e2ab-cdbb-409d-ab12-a843e87ebaaf","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.904348} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43594ce75bbd751cb250957ce7d8aaeb"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e19383b-a596-4a5a-be8f-354fea7e9630","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.9094791} 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":"47769d7a832d07794ab29c7a0b17609a"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e829a3f2-2231-4b76-a377-f2bfee8ad608","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.9110317} 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":"43594ce75bbd751cb250957ce7d8aaeb"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.378869764Z"}]},"request_id":"57990eb7-d6c6-432b-ba50-a32d06e4ffbe","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.914552} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43594ce75bbd751cb250957ce7d8aaeb"},"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":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"43594ce75bbd751cb250957ce7d8aaeb"} device-1 | {"level":"info","message":"PATCH /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8 200 21ms","method":"PATCH","requestID":"43594ce75bbd751cb250957ce7d8aaeb","responseTime":21,"status":200,"url":"/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d0457395765c55c192f79916ed30275","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.620294,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d0457395765c55c192f79916ed30275"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.430290881Z"}]},"request_id":"95c9c0cd-91d9-4f5f-b559-5db25c107f69","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.9253933} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47769d7a832d07794ab29c7a0b17609a"},"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":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3c6698a8-358d-4f13-a522-482645034aa4 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"47769d7a832d07794ab29c7a0b17609a"} device-1 | {"level":"info","message":"PATCH /devices/3c6698a8-358d-4f13-a522-482645034aa4 200 35ms","method":"PATCH","requestID":"47769d7a832d07794ab29c7a0b17609a","responseTime":35,"status":200,"url":"/devices/3c6698a8-358d-4f13-a522-482645034aa4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"888b4005461e2329b7eebf4ed7c7ad7e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844747,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"888b4005461e2329b7eebf4ed7c7ad7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0d0457395765c55c192f79916ed30275"} device-1 | {"level":"info","message":"POST /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8/websocket 200 18ms","method":"POST","requestID":"0d0457395765c55c192f79916ed30275","responseTime":18,"status":200,"url":"/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3c6698a8-358d-4f13-a522-482645034aa4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"888b4005461e2329b7eebf4ed7c7ad7e"} device-1 | {"level":"info","message":"POST /devices/3c6698a8-358d-4f13-a522-482645034aa4/websocket 200 17ms","method":"POST","requestID":"888b4005461e2329b7eebf4ed7c7ad7e","responseTime":17,"status":200,"url":"/devices/3c6698a8-358d-4f13-a522-482645034aa4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88e8a0cb0847f2fe2e3efc81e6080f7a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765998,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88e8a0cb0847f2fe2e3efc81e6080f7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.378869764Z"}]},"request_id":"a372c3de-a4dc-4b57-ba55-2ac9dd862dc9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377519.985091} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88e8a0cb0847f2fe2e3efc81e6080f7a"},"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":"14/Jun/2024:15:05:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8? 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":"88e8a0cb0847f2fe2e3efc81e6080f7a"} device-1 | {"level":"info","message":"GET /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8? 200 12ms","method":"GET","requestID":"88e8a0cb0847f2fe2e3efc81e6080f7a","responseTime":12,"status":200,"url":"/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd2913c248c5ebcc9262049329f59fde","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:19Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845507,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377519,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUxOX0.MW7JfliqaCu-4jywxpaE8ehWc5WBDZtf40p7krpnBRw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd2913c248c5ebcc9262049329f59fde"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.430290881Z"}]},"request_id":"e185d3ce-5b78-4a80-9f66-8cc3a96d24a4","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.0041966} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd2913c248c5ebcc9262049329f59fde"},"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/3c6698a8-358d-4f13-a522-482645034aa4? 200 12ms","method":"GET","requestID":"fd2913c248c5ebcc9262049329f59fde","responseTime":12,"status":200,"url":"/devices/3c6698a8-358d-4f13-a522-482645034aa4?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c6698a8-358d-4f13-a522-482645034aa4? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd2913c248c5ebcc9262049329f59fde"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ea23cd3780f70273a604c5d00cd6e38b","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:44380","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.254439,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"ea23cd3780f70273a604c5d00cd6e38b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"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:44380","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615578,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"843c9fc0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.689694,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"843cede0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.378869764Z"}]},"request_id":"0aa24ba7-5f73-4416-81c6-07ef7df4bcaa","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.0728765} 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":"843c9fc0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.430290881Z"}]},"request_id":"0a482c43-173f-4803-aea7-73de01269c92","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.0739148} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"843cede0-2a5f-11ef-8ed1-011028b23f76"},"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/54e3d025-a198-4fa6-9b2b-03c1de81eeb8? 200 21ms","method":"GET","requestID":"843c9fc0-2a5f-11ef-8ed1-011028b23f76","responseTime":21,"status":200,"url":"/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3c6698a8-358d-4f13-a522-482645034aa4? 200 20ms","method":"GET","requestID":"843cede0-2a5f-11ef-8ed1-011028b23f76","responseTime":20,"status":200,"url":"/devices/3c6698a8-358d-4f13-a522-482645034aa4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"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/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.386977,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"844886a0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657964,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"8448d4c0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.378869764Z"}]},"request_id":"e1ad860b-c2a7-41ce-8914-ffc723b9d10f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.1557977} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"844886a0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.430290881Z"}]},"request_id":"6293c16b-2099-46d1-8bd4-27a95e1e76ca","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.1574786} 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":"8448d4c0-2a5f-11ef-8ed1-011028b23f76"},"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/54e3d025-a198-4fa6-9b2b-03c1de81eeb8? 200 30ms","method":"GET","requestID":"844886a0-2a5f-11ef-8ed1-011028b23f76","responseTime":30,"status":200,"url":"/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1ed462eb-b4ca-4fde-8635-c3f1354b7541#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1ed462eb-b4ca-4fde-8635-c3f1354b7541","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"3241cada-bda4-40de-ae31-742348d03bb3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.1681628} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16780ccf-7686-4da6-8fdb-4cb3d8f649ce","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.1686525} device-1 | {"level":"info","message":"GET /devices/3c6698a8-358d-4f13-a522-482645034aa4? 200 29ms","method":"GET","requestID":"8448d4c0-2a5f-11ef-8ed1-011028b23f76","responseTime":29,"status":200,"url":"/devices/3c6698a8-358d-4f13-a522-482645034aa4?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea23cd3780f70273a604c5d00cd6e38b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.167514,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","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":"844db6c0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea23cd3780f70273a604c5d00cd6e38b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 166ms","method":"POST","requestID":"ea23cd3780f70273a604c5d00cd6e38b","responseTime":166,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8/signaling 200 11ms","method":"POST","requestID":"844db6c0-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b59c829b6735eafcf36d7ff7795d0996","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.671734,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","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":"844fb290-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.868859,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} device-1 | {"level":"info","message":"POST /devices/3c6698a8-358d-4f13-a522-482645034aa4/signaling 200 9ms","method":"POST","requestID":"844fb290-2a5f-11ef-8ed1-011028b23f76","responseTime":9,"status":200,"url":"/devices/3c6698a8-358d-4f13-a522-482645034aa4/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"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":"cb11e5f6-e677-4129-a1f3-57178c94d496"},{"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":"463bd6e2-975e-4903-82a0-770c2e02996b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"05c8877c-9ee4-4b7a-8c07-1819129d299f"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59c829b6735eafcf36d7ff7795d0996"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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/54e3d025-a198-4fa6-9b2b-03c1de81eeb8"},{"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/3c6698a8-358d-4f13-a522-482645034aa4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54e3d025-a198-4fa6-9b2b-03c1de81eeb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.378869764Z"}]},"request_id":"f3cec15a-d2ab-4616-aaa8-0805b89a5ae9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.1986423} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59c829b6735eafcf36d7ff7795d0996"},"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:44380","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.692853,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"84518750-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8? 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":"b59c829b6735eafcf36d7ff7795d0996"} device-1 | {"level":"info","message":"GET /devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8? 200 16ms","method":"GET","requestID":"b59c829b6735eafcf36d7ff7795d0996","responseTime":16,"status":200,"url":"/devices/54e3d025-a198-4fa6-9b2b-03c1de81eeb8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d897b0393a5493a6f1b913db26ae173e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"a73349cc-ce7c-4838-9ade-1f99d88808fb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.2126088} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b47b4612-f6ed-4b42-a60f-5a3a8c502463","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.213087} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84518750-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.474368,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d897b0393a5493a6f1b913db26ae173e"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c6698a8-358d-4f13-a522-482645034aa4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:19.430290881Z"}]},"request_id":"a0b3c71a-5c90-47fc-8dd7-0cddfe470ee1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.222692} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d897b0393a5493a6f1b913db26ae173e"},"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/ce5654ec-cb72-4e5a-ad74-2c173e22749a'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"84518750-2a5f-11ef-8ed1-011028b23f76","responseTime":35,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c6698a8-358d-4f13-a522-482645034aa4? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d897b0393a5493a6f1b913db26ae173e"} device-1 | {"level":"info","message":"GET /devices/3c6698a8-358d-4f13-a522-482645034aa4? 200 22ms","method":"GET","requestID":"d897b0393a5493a6f1b913db26ae173e","responseTime":22,"status":200,"url":"/devices/3c6698a8-358d-4f13-a522-482645034aa4?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"ce5654ec-cb72-4e5a-ad74-2c173e22749a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"data":{"peerconnection":"ce5654ec-cb72-4e5a-ad74-2c173e22749a","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/ce5654ec-cb72-4e5a-ad74-2c173e22749a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ce5654ec-cb72-4e5a-ad74-2c173e22749a","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":"8582f480760cbd05579dcddfaa8ca8a5","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/54e3d025-a198-4fa6-9b2b-03c1de81eeb8"},{"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/3c6698a8-358d-4f13-a522-482645034aa4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"8582f480760cbd05579dcddfaa8ca8a5","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"ce5654ec-cb72-4e5a-ad74-2c173e22749a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"8582f480760cbd05579dcddfaa8ca8a5"} device-1 | {"data":{"peerconnection":"ce5654ec-cb72-4e5a-ad74-2c173e22749a","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ce5654ec-cb72-4e5a-ad74-2c173e22749a","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":"c44fbc2b36f2a027b39ec3c82ea3a378","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/54e3d025-a198-4fa6-9b2b-03c1de81eeb8"},{"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/3c6698a8-358d-4f13-a522-482645034aa4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fce5654ec-cb72-4e5a-ad74-2c173e22749a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12e3c898-8fb8-4dae-8f73-cdf1d3dff163","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.3252926} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.974103,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a","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":"8463fde0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a 200 12ms","method":"GET","requestID":"8463fde0-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"c44fbc2b36f2a027b39ec3c82ea3a378","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"c44fbc2b36f2a027b39ec3c82ea3a378"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6276b84faaf84bdf2ac4f4a907d185f0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.300263,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"6276b84faaf84bdf2ac4f4a907d185f0"},"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/1ed462eb-b4ca-4fde-8635-c3f1354b7541"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6276b84faaf84bdf2ac4f4a907d185f0"} experiment-1 | {"level":"info","message":"GET /experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541 200 15ms","method":"GET","requestID":"6276b84faaf84bdf2ac4f4a907d185f0","responseTime":15,"status":200,"url":"/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a6c18fcaa349cb8318d16f702cd7fe2b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.193197,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"a6c18fcaa349cb8318d16f702cd7fe2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.230164,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"847710b0-2a5f-11ef-8ed1-011028b23f76"},"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/ce5654ec-cb72-4e5a-ad74-2c173e22749a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ce5654ec-cb72-4e5a-ad74-2c173e22749a","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":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fce5654ec-cb72-4e5a-ad74-2c173e22749a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fce5654ec-cb72-4e5a-ad74-2c173e22749a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"9d21063f-601c-4254-8786-45f84ab65dc8","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.4678755} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"caaf74c3d06d2742b80692c24a11db59","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f3c3858-4e74-49ef-9514-813868681dfa","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.4690902} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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/54e3d025-a198-4fa6-9b2b-03c1de81eeb8"},{"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/3c6698a8-358d-4f13-a522-482645034aa4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf9f277b7c1a019aeaf26885b7c0e450","responseTime":2,"status":200,"url":"/auth"} 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":"847710b0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} 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/54e3d025-a198-4fa6-9b2b-03c1de81eeb8"},{"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/3c6698a8-358d-4f13-a522-482645034aa4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"ce5654ec-cb72-4e5a-ad74-2c173e22749a","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/ce5654ec-cb72-4e5a-ad74-2c173e22749a 204 50ms","method":"DELETE","requestID":"847710b0-2a5f-11ef-8ed1-011028b23f76","responseTime":50,"status":204,"url":"/peerconnections/ce5654ec-cb72-4e5a-ad74-2c173e22749a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1ed462eb-b4ca-4fde-8635-c3f1354b7541': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1ed462eb-b4ca-4fde-8635-c3f1354b7541","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"6b188a22-907b-4cf4-a1fc-c278016048d2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.527433} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"744bd9c7-e513-4a42-8c46-498373ac38b9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.5277998} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6c18fcaa349cb8318d16f702cd7fe2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6c18fcaa349cb8318d16f702cd7fe2b"} experiment-1 | {"level":"info","message":"DELETE /experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541 204 163ms","method":"DELETE","requestID":"a6c18fcaa349cb8318d16f702cd7fe2b","responseTime":163,"status":204,"url":"/experiments/1ed462eb-b4ca-4fde-8635-c3f1354b7541"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"0.650","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9f22aca1655b5a3a105fc30ead94561a"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"0.639","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7280ed89cce7f2f72ae4fffb9df64ae2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"caaf74c3d06d2742b80692c24a11db59","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"caaf74c3d06d2742b80692c24a11db59"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"cf9f277b7c1a019aeaf26885b7c0e450","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf9f277b7c1a019aeaf26885b7c0e450"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9a3e493405dae65be7a08b9e10d23310","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3c6698a8-358d-4f13-a522-482645034aa4' closed"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.266563,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"9a3e493405dae65be7a08b9e10d23310"},"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/54e3d025-a198-4fa6-9b2b-03c1de81eeb8' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e745e90e-675f-43fd-a8b8-a9e7f9611d63","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.6309109} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a3e493405dae65be7a08b9e10d23310"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbdf1d0e-95ac-4cec-9867-43dac43a2197","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.6385205} 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":"9a3e493405dae65be7a08b9e10d23310"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"84b10686-1998-4bc3-a934-a904d1615d45","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.649429} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d9e1db6-5b7e-4fe0-be03-4b62bad64b73","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.6495447} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a3e493405dae65be7a08b9e10d23310"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.649397083Z"}]},"request_id":"d555821a-1456-4b3f-bbd6-edd7f1d58e66","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.6545033} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a3e493405dae65be7a08b9e10d23310"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a3e493405dae65be7a08b9e10d23310"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"9a3e493405dae65be7a08b9e10d23310","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a24a8bbe54ded0fa32a97c86c5396517","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.814263,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377520,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMH0.RhKJ7Z4Xul7obg1knP62Ost8I5GvVTyB8Q8OqNv5aBo"} 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":"a24a8bbe54ded0fa32a97c86c5396517"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d5a5d77b-d23f-49ec-92a4-afb2cddc3aaa","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.6789298} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a24a8bbe54ded0fa32a97c86c5396517"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8acd6675-5e35-402b-a854-531cdafa4b5e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.6844711} 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":"a24a8bbe54ded0fa32a97c86c5396517"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"47f675e0-7dae-47c7-a84d-751325b11623","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.698623} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77108702-7566-40d7-9674-1772442baeef","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.6989105} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a24a8bbe54ded0fa32a97c86c5396517"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.698598582Z"}]},"request_id":"3c2ba37b-d0b3-4dae-a417-baa147035b0d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377520.7041333} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a24a8bbe54ded0fa32a97c86c5396517"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a24a8bbe54ded0fa32a97c86c5396517"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"a24a8bbe54ded0fa32a97c86c5396517","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"024c71e398cf512b9d28c7fb516f97be","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a88446d6bddec4fde37f844d18cc032","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:44380","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778088,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"024c71e398cf512b9d28c7fb516f97be"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729066,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a88446d6bddec4fde37f844d18cc032"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.649397083Z"}]},"request_id":"752f1c24-7715-4035-9663-85508d599b4f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.1702652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"024c71e398cf512b9d28c7fb516f97be"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.698598582Z"}]},"request_id":"7301f786-2ec1-49de-ac59-cf68cc34abc6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.1711009} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a88446d6bddec4fde37f844d18cc032"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13e217c7-9ffc-4110-a139-8a6f8a9fe8b1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.175343} 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":"024c71e398cf512b9d28c7fb516f97be"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8f3626e-1695-4f61-96d6-3585440800cb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.1768005} 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":"6a88446d6bddec4fde37f844d18cc032"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.698598582Z"}]},"request_id":"638f5231-db23-42c2-9fd9-eb95e1675f31","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.1796308} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a88446d6bddec4fde37f844d18cc032"},"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":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6a88446d6bddec4fde37f844d18cc032"} device-1 | {"level":"info","message":"PATCH /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c 200 21ms","method":"PATCH","requestID":"6a88446d6bddec4fde37f844d18cc032","responseTime":21,"status":200,"url":"/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"02b226be9a626ac65e5133f067c0044f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613775,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02b226be9a626ac65e5133f067c0044f"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.649397083Z"}]},"request_id":"8cf9e91c-f8f3-4c74-a9b2-3659ffb29fb7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.1913745} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"024c71e398cf512b9d28c7fb516f97be"},"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":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/afa6f27e-60da-493c-add5-e36c38f3f4a5 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"024c71e398cf512b9d28c7fb516f97be"} device-1 | {"level":"info","message":"PATCH /devices/afa6f27e-60da-493c-add5-e36c38f3f4a5 200 36ms","method":"PATCH","requestID":"024c71e398cf512b9d28c7fb516f97be","responseTime":36,"status":200,"url":"/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b59801f83bb6bc711f47f8b9c90ea1f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.943296,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b59801f83bb6bc711f47f8b9c90ea1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c/websocket 200 19ms","method":"POST","requestID":"02b226be9a626ac65e5133f067c0044f","responseTime":19,"status":200,"url":"/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c/websocket"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"02b226be9a626ac65e5133f067c0044f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/afa6f27e-60da-493c-add5-e36c38f3f4a5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0b59801f83bb6bc711f47f8b9c90ea1f"} device-1 | {"level":"info","message":"POST /devices/afa6f27e-60da-493c-add5-e36c38f3f4a5/websocket 200 14ms","method":"POST","requestID":"0b59801f83bb6bc711f47f8b9c90ea1f","responseTime":14,"status":200,"url":"/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dcf01739fa21fa6b953f1b89985f622a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646077,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcf01739fa21fa6b953f1b89985f622a"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.649397083Z"}]},"request_id":"28d37fbf-bf20-47fd-935c-f895ee0979e1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.2382073} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcf01739fa21fa6b953f1b89985f622a"},"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/afa6f27e-60da-493c-add5-e36c38f3f4a5? 200 11ms","method":"GET","requestID":"dcf01739fa21fa6b953f1b89985f622a","responseTime":11,"status":200,"url":"/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/afa6f27e-60da-493c-add5-e36c38f3f4a5? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dcf01739fa21fa6b953f1b89985f622a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4be7447ed11611b98ec2c86faddf94c1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922137,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4be7447ed11611b98ec2c86faddf94c1"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.698598582Z"}]},"request_id":"a286f0f7-541c-4c7c-a493-108db0721bcf","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.2581956} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4be7447ed11611b98ec2c86faddf94c1"},"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":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c? 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":"4be7447ed11611b98ec2c86faddf94c1"} device-1 | {"level":"info","message":"GET /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c? 200 15ms","method":"GET","requestID":"4be7447ed11611b98ec2c86faddf94c1","responseTime":15,"status":200,"url":"/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"62920aadd89703a682df9cfa4ee36324","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:44380","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.702111,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"62920aadd89703a682df9cfa4ee36324"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"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:44380","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630901,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84fa4a70-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.559492,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"84fa9890-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.649397083Z"}]},"request_id":"a484cbcd-2356-423e-8c1b-f1226e32eddc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.3144488} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84fa4a70-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.698598582Z"}]},"request_id":"2f37c8de-aa75-4f0b-ba36-4859a81abe55","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.3156796} device-1 | {"level":"info","message":"GET /devices/afa6f27e-60da-493c-add5-e36c38f3f4a5? 200 17ms","method":"GET","requestID":"84fa4a70-2a5f-11ef-8ed1-011028b23f76","responseTime":17,"status":200,"url":"/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5?"} 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":"84fa9890-2a5f-11ef-8ed1-011028b23f76"},"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/afbd5eda-61ba-4b61-a69a-ebca196a219c? 200 20ms","method":"GET","requestID":"84fa9890-2a5f-11ef-8ed1-011028b23f76","responseTime":20,"status":200,"url":"/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"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/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974248,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85045c90-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647638,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"8504aab0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.649397083Z"}]},"request_id":"834591ad-538d-47b5-ad02-e15ce8088fb7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.3831575} 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":"85045c90-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.698598582Z"}]},"request_id":"72aa482e-136c-4d20-a5ef-9690dcf62048","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.3844507} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8504aab0-2a5f-11ef-8ed1-011028b23f76"},"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/afa6f27e-60da-493c-add5-e36c38f3f4a5? 200 20ms","method":"GET","requestID":"85045c90-2a5f-11ef-8ed1-011028b23f76","responseTime":20,"status":200,"url":"/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c? 200 20ms","method":"GET","requestID":"8504aab0-2a5f-11ef-8ed1-011028b23f76","responseTime":20,"status":200,"url":"/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F331d666f-507a-4ae8-8e82-3ee1085cb2ab#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F331d666f-507a-4ae8-8e82-3ee1085cb2ab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"20318c4c-b6ab-4af8-beda-aef0fdd10902","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.3970056} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ede105f-f28d-418f-9617-415fe94b6c84","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.397368} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.936747,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"62920aadd89703a682df9cfa4ee36324"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","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":"85080610-2a5f-11ef-8ed1-011028b23f76"},"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/afa6f27e-60da-493c-add5-e36c38f3f4a5/signaling 200 11ms","method":"POST","requestID":"85080610-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 141ms","method":"POST","requestID":"62920aadd89703a682df9cfa4ee36324","responseTime":141,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62920aadd89703a682df9cfa4ee36324"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.015976,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","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":"850a7710-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"db005773e78c11690e3408aec6c2b8e3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c/signaling 200 9ms","method":"POST","requestID":"850a7710-2a5f-11ef-8ed1-011028b23f76","responseTime":9,"status":200,"url":"/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"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":"78f872a7-05bc-4aac-b3ea-40322e21883d"},{"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":"4bbf79d5-1cd4-4306-8859-a518464dec74"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c21155ad-38aa-402c-a5ba-b38871deb159"}]},"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/afbd5eda-61ba-4b61-a69a-ebca196a219c"},{"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/afa6f27e-60da-493c-add5-e36c38f3f4a5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726144,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db005773e78c11690e3408aec6c2b8e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.620612,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"850c4bd0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafa6f27e-60da-493c-add5-e36c38f3f4a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.649397083Z"}]},"request_id":"eaf82021-763a-467d-9072-1647a58adf8a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.4259574} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db005773e78c11690e3408aec6c2b8e3"},"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/afa6f27e-60da-493c-add5-e36c38f3f4a5? 200 12ms","method":"GET","requestID":"db005773e78c11690e3408aec6c2b8e3","responseTime":12,"status":200,"url":"/devices/afa6f27e-60da-493c-add5-e36c38f3f4a5?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/afa6f27e-60da-493c-add5-e36c38f3f4a5? 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":"db005773e78c11690e3408aec6c2b8e3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f6a3b7f1f3177fc5670c75d2f3f9ce3c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"e956c556-6ede-4219-b941-8865c7bd3b50","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.4367404} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42d43fac-f7da-48f0-aeb3-9a6e9084b918","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.4368467} 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":"850c4bd0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.723838,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6a3b7f1f3177fc5670c75d2f3f9ce3c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbd5eda-61ba-4b61-a69a-ebca196a219c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:20.698598582Z"}]},"request_id":"d897b8bd-c700-4798-a86e-73d3081a1971","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.4450614} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6a3b7f1f3177fc5670c75d2f3f9ce3c"},"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/b360d34b-c3ae-4344-8fec-18402c0da76e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"850c4bd0-2a5f-11ef-8ed1-011028b23f76","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c? 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":"f6a3b7f1f3177fc5670c75d2f3f9ce3c"} device-1 | {"level":"info","message":"GET /devices/afbd5eda-61ba-4b61-a69a-ebca196a219c? 200 23ms","method":"GET","requestID":"f6a3b7f1f3177fc5670c75d2f3f9ce3c","responseTime":23,"status":200,"url":"/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device-1 | {"data":{"peerconnection":"b360d34b-c3ae-4344-8fec-18402c0da76e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b360d34b-c3ae-4344-8fec-18402c0da76e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b360d34b-c3ae-4344-8fec-18402c0da76e","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":"cb4992f1c8de301fed71c2a14d8a0af6","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/afbd5eda-61ba-4b61-a69a-ebca196a219c"},{"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/afa6f27e-60da-493c-add5-e36c38f3f4a5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"cb4992f1c8de301fed71c2a14d8a0af6","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb4992f1c8de301fed71c2a14d8a0af6"} device-1 | {"data":{"peerconnection":"b360d34b-c3ae-4344-8fec-18402c0da76e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b360d34b-c3ae-4344-8fec-18402c0da76e","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b360d34b-c3ae-4344-8fec-18402c0da76e","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":"4d4e4910a17eceafb40da040cca112a4","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/afbd5eda-61ba-4b61-a69a-ebca196a219c"},{"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/afa6f27e-60da-493c-add5-e36c38f3f4a5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb360d34b-c3ae-4344-8fec-18402c0da76e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10e59d98-5113-4e64-aae8-38cfb64edba6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.552701} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.990904,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e","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":"851f5ea0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e 200 11ms","method":"GET","requestID":"851f5ea0-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"4d4e4910a17eceafb40da040cca112a4","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d4e4910a17eceafb40da040cca112a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bf45f1340127e51c300bd3fe90bf2adf","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.209327,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"bf45f1340127e51c300bd3fe90bf2adf"},"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/331d666f-507a-4ae8-8e82-3ee1085cb2ab"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf45f1340127e51c300bd3fe90bf2adf"} experiment-1 | {"level":"info","message":"GET /experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab 200 16ms","method":"GET","requestID":"bf45f1340127e51c300bd3fe90bf2adf","responseTime":16,"status":200,"url":"/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"97a6a2da539edba328f6937711f812f2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.184085,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"97a6a2da539edba328f6937711f812f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.354457,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"85327170-2a5f-11ef-8ed1-011028b23f76"},"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/b360d34b-c3ae-4344-8fec-18402c0da76e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b360d34b-c3ae-4344-8fec-18402c0da76e","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":"0047fb581a5d0fd71d12d26c66ab8e12","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb360d34b-c3ae-4344-8fec-18402c0da76e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb360d34b-c3ae-4344-8fec-18402c0da76e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"aa357acc-1c65-4c83-ae57-87acf9dcc6c1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.695442} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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/afbd5eda-61ba-4b61-a69a-ebca196a219c"},{"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/afa6f27e-60da-493c-add5-e36c38f3f4a5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e"}}},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d66d92e2-26ab-4061-90f8-d5f3ab8b7f22","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.696222} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"604c21020defc357a88d6e7f87c96313","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/afbd5eda-61ba-4b61-a69a-ebca196a219c"},{"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/afa6f27e-60da-493c-add5-e36c38f3f4a5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e"}}},"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":"85327170-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"data":{"peerconnection":"b360d34b-c3ae-4344-8fec-18402c0da76e","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/b360d34b-c3ae-4344-8fec-18402c0da76e 204 47ms","method":"DELETE","requestID":"85327170-2a5f-11ef-8ed1-011028b23f76","responseTime":47,"status":204,"url":"/peerconnections/b360d34b-c3ae-4344-8fec-18402c0da76e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F331d666f-507a-4ae8-8e82-3ee1085cb2ab': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F331d666f-507a-4ae8-8e82-3ee1085cb2ab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"0c7e4dd7-4d25-477e-a3a0-333ae99fe1e6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.7559862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af6e7afc-1814-48a7-840b-f3a6bf03a9c5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.756231} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97a6a2da539edba328f6937711f812f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97a6a2da539edba328f6937711f812f2"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"0.611","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c3bccc0954342ecf388d0a325113b940"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"0.603","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3e1c2d875a2c5a5f64be22ffaa4b98a6"} experiment-1 | {"level":"info","message":"DELETE /experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab 204 163ms","method":"DELETE","requestID":"97a6a2da539edba328f6937711f812f2","responseTime":163,"status":204,"url":"/experiments/331d666f-507a-4ae8-8e82-3ee1085cb2ab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"0047fb581a5d0fd71d12d26c66ab8e12","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"0047fb581a5d0fd71d12d26c66ab8e12"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"604c21020defc357a88d6e7f87c96313","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"604c21020defc357a88d6e7f87c96313"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","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/afa6f27e-60da-493c-add5-e36c38f3f4a5' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3837e91f0dbd0f266e700cf54712cb90","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.941857,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"3837e91f0dbd0f266e700cf54712cb90"},"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/afbd5eda-61ba-4b61-a69a-ebca196a219c' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"72953dde-73a9-4273-b090-db6e05f71b31","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.8491113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3837e91f0dbd0f266e700cf54712cb90"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14bcdb7e-e55a-4b3d-82bb-45a47077c421","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.8549886} 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":"3837e91f0dbd0f266e700cf54712cb90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"35e15053-12c1-442d-b3bc-aad73ccf4808","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.866338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6bc2b76e-5fdc-4f7e-b1cc-ec71821fff83","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.8665435} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3837e91f0dbd0f266e700cf54712cb90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.866308609Z"}]},"request_id":"c8ca6af9-6a46-48f7-ba38-b91ac4a7e66b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.8719003} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3837e91f0dbd0f266e700cf54712cb90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3837e91f0dbd0f266e700cf54712cb90"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"3837e91f0dbd0f266e700cf54712cb90","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6d7c81fb07e7658fec8d996cd1d37674","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.764085,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377521,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyMX0.SX8uk0iYeWr4R_dg_RGWNhy-Ct6lBKP_omZ462R6uj4"} 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":"6d7c81fb07e7658fec8d996cd1d37674"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1a8f28ab-8b0c-47c2-a3c0-41d2699fa767","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.8963451} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d7c81fb07e7658fec8d996cd1d37674"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9672f449-65ee-4490-b52d-12485b0c4201","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.9012697} 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":"6d7c81fb07e7658fec8d996cd1d37674"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"a19d5d8c-ad8c-4fb6-a8e8-40abaf6b066f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.911099} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6eeeec21-2708-4cca-91eb-a6acb6821219","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.911244} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d7c81fb07e7658fec8d996cd1d37674"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.911067981Z"}]},"request_id":"90977ab4-d488-404e-8024-dfa996077a3b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377521.915651} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d7c81fb07e7658fec8d996cd1d37674"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d7c81fb07e7658fec8d996cd1d37674"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"6d7c81fb07e7658fec8d996cd1d37674","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"3a36a85b15a76cceb6dca2f834fb2dde","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67/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":"3a36a85b15a76cceb6dca2f834fb2dde"} device-1 | {"level":"info","message":"OPTIONS /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67/websocket 200 2ms","method":"OPTIONS","requestID":"3a36a85b15a76cceb6dca2f834fb2dde","responseTime":2,"status":200,"url":"/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"735f5e4e1707872c65e74f5968b4ace2","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b/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":"735f5e4e1707872c65e74f5968b4ace2"} device-1 | {"level":"info","message":"OPTIONS /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b/websocket 200 1ms","method":"OPTIONS","requestID":"735f5e4e1707872c65e74f5968b4ace2","responseTime":1,"status":200,"url":"/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyM30._Xwl3C55nAAIu9vpusv2XLPbKYwQkSOvRcCCxvY59Pk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f47895d78d6bfaa76886f856eb8f88e4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyM30._Xwl3C55nAAIu9vpusv2XLPbKYwQkSOvRcCCxvY59Pk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"53bf53497cbbd8b282ec19cf817f975d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.846481,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377523,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyM30._Xwl3C55nAAIu9vpusv2XLPbKYwQkSOvRcCCxvY59Pk"} 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":"f47895d78d6bfaa76886f856eb8f88e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300661,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377523,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyM30._Xwl3C55nAAIu9vpusv2XLPbKYwQkSOvRcCCxvY59Pk"} 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":"53bf53497cbbd8b282ec19cf817f975d"},"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":"14/Jun/2024:15:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"53bf53497cbbd8b282ec19cf817f975d"} device-1 | {"level":"info","message":"POST /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b/websocket 200 32ms","method":"POST","requestID":"53bf53497cbbd8b282ec19cf817f975d","responseTime":32,"status":200,"url":"/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f47895d78d6bfaa76886f856eb8f88e4"} device-1 | {"level":"info","message":"POST /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67/websocket 200 46ms","method":"POST","requestID":"f47895d78d6bfaa76886f856eb8f88e4","responseTime":46,"status":200,"url":"/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyM30._Xwl3C55nAAIu9vpusv2XLPbKYwQkSOvRcCCxvY59Pk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97d540aab189a35dac9bf3bf5a52be69","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70033,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377523,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyM30._Xwl3C55nAAIu9vpusv2XLPbKYwQkSOvRcCCxvY59Pk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97d540aab189a35dac9bf3bf5a52be69"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.866308609Z"}]},"request_id":"627dbda1-8886-400a-97cd-6ce29689fe4a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377523.9813724} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97d540aab189a35dac9bf3bf5a52be69"},"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":"14/Jun/2024:15:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97d540aab189a35dac9bf3bf5a52be69"} device-1 | {"level":"info","message":"GET /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b? 200 11ms","method":"GET","requestID":"97d540aab189a35dac9bf3bf5a52be69","responseTime":11,"status":200,"url":"/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyM30._Xwl3C55nAAIu9vpusv2XLPbKYwQkSOvRcCCxvY59Pk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eae1b73d1280fb7156100b6c0bb5fa4f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86426,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377523,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyM30._Xwl3C55nAAIu9vpusv2XLPbKYwQkSOvRcCCxvY59Pk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eae1b73d1280fb7156100b6c0bb5fa4f"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.911067981Z"}]},"request_id":"5c5bb6d0-f190-4cff-a463-0f576e1c465a","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377523.9962237} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eae1b73d1280fb7156100b6c0bb5fa4f"},"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":"14/Jun/2024:15:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eae1b73d1280fb7156100b6c0bb5fa4f"} device-1 | {"level":"info","message":"GET /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67? 200 11ms","method":"GET","requestID":"eae1b73d1280fb7156100b6c0bb5fa4f","responseTime":11,"status":200,"url":"/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b6ef4760c0e8d223bfb7166234b3c96","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:44380","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.029673,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"1b6ef4760c0e8d223bfb7166234b3c96"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"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:44380","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614884,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"869c61b0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.583829,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"869c88c0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.866308609Z"}]},"request_id":"1b1d3877-9202-4138-8cea-f56e0dff8d10","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.0500815} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"869c61b0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.911067981Z"}]},"request_id":"8eb14a7e-4cd9-4599-93fc-387b80d74f4b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.051396} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"869c88c0-2a5f-11ef-8ed1-011028b23f76"},"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/c5a2e57a-fdff-499b-ae60-aa6d9c46066b? 200 13ms","method":"GET","requestID":"869c61b0-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67? 200 13ms","method":"GET","requestID":"869c88c0-2a5f-11ef-8ed1-011028b23f76","responseTime":13,"status":200,"url":"/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"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/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.107408,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"86a58970-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.11791,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"86a5d790-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.866308609Z"}]},"request_id":"9abcdf7d-1c61-467a-95a1-407196b8fe42","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.1166694} 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":"86a58970-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.911067981Z"}]},"request_id":"7a48ea20-3df0-4c22-ab56-3812d2cf7936","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.118492} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86a5d790-2a5f-11ef-8ed1-011028b23f76"},"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/c5a2e57a-fdff-499b-ae60-aa6d9c46066b? 200 19ms","method":"GET","requestID":"86a58970-2a5f-11ef-8ed1-011028b23f76","responseTime":19,"status":200,"url":"/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67? 200 18ms","method":"GET","requestID":"86a5d790-2a5f-11ef-8ed1-011028b23f76","responseTime":18,"status":200,"url":"/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.001085,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","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 8ms","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":"86a8e4d0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"c4b584b6-29b7-46cc-9efb-72b470dda9ab","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.133089} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2658fae-40a4-4004-9f37-4dc6e9edb684","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.1333358} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b/signaling 200 12ms","method":"POST","requestID":"86a8e4d0-2a5f-11ef-8ed1-011028b23f76","responseTime":12,"status":200,"url":"/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b6ef4760c0e8d223bfb7166234b3c96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b6ef4760c0e8d223bfb7166234b3c96"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.861851,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 139ms","method":"POST","requestID":"1b6ef4760c0e8d223bfb7166234b3c96","responseTime":139,"status":201,"url":"/experiments?"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","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":"86ab55d0-2a5f-11ef-8ed1-011028b23f76"},"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/9232fade-5a1a-4de8-b618-eeee1cc22e67/signaling 200 8ms","method":"POST","requestID":"86ab55d0-2a5f-11ef-8ed1-011028b23f76","responseTime":8,"status":200,"url":"/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45d372b313ee11da9f44d72009de371d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1ec1f31f-b425-4cac-abef-1a7d635a2ef6"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b5e62c5c-081d-4239-ac28-dbd24dcf771a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"40de83d9-880d-4f61-88c8-1541690247d4"}]},"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/9232fade-5a1a-4de8-b618-eeee1cc22e67"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.381844,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45d372b313ee11da9f44d72009de371d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.708844,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"86ad2a90-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a2e57a-fdff-499b-ae60-aa6d9c46066b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.866308609Z"}]},"request_id":"81f5309c-1910-4369-9cc4-5aefff2d42d5","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.1591623} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45d372b313ee11da9f44d72009de371d"},"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":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45d372b313ee11da9f44d72009de371d"} device-1 | {"level":"info","message":"GET /devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b? 200 12ms","method":"GET","requestID":"45d372b313ee11da9f44d72009de371d","responseTime":12,"status":200,"url":"/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b?"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"9ba97d9f-5d67-4afc-8660-cbe06aa444b6","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.1646116} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4065aec1-0f6f-4271-a031-917ff8446f54","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.1653137} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86ad2a90-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21e1e0f1304482b46cd0b66d10c5504c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856785,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21e1e0f1304482b46cd0b66d10c5504c"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9232fade-5a1a-4de8-b618-eeee1cc22e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:21.911067981Z"}]},"request_id":"d2b1d2e8-5ad2-49a8-b97c-cbda0ba01252","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.175452} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21e1e0f1304482b46cd0b66d10c5504c"},"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/67470d70-1813-4b74-9abd-ec6cd95383e4'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"86ad2a90-2a5f-11ef-8ed1-011028b23f76","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21e1e0f1304482b46cd0b66d10c5504c"} device-1 | {"level":"info","message":"GET /devices/9232fade-5a1a-4de8-b618-eeee1cc22e67? 200 14ms","method":"GET","requestID":"21e1e0f1304482b46cd0b66d10c5504c","responseTime":14,"status":200,"url":"/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67470d70-1813-4b74-9abd-ec6cd95383e4","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":"57cd3c5bd162d0406afa416d55bd3af3","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/9232fade-5a1a-4de8-b618-eeee1cc22e67"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"57cd3c5bd162d0406afa416d55bd3af3","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"57cd3c5bd162d0406afa416d55bd3af3"} device-1 | {"data":{"peerconnection":"67470d70-1813-4b74-9abd-ec6cd95383e4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"67470d70-1813-4b74-9abd-ec6cd95383e4","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67470d70-1813-4b74-9abd-ec6cd95383e4","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":"204b2dfccc9afb8910aa51729c85e3fe","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/9232fade-5a1a-4de8-b618-eeee1cc22e67"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67470d70-1813-4b74-9abd-ec6cd95383e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec6d7fe6-3508-4748-a250-49095344cd76","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.4495263} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.437267,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4","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":"86d943a0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4 200 14ms","method":"GET","requestID":"86d943a0-2a5f-11ef-8ed1-011028b23f76","responseTime":14,"status":200,"url":"/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"204b2dfccc9afb8910aa51729c85e3fe","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"204b2dfccc9afb8910aa51729c85e3fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9f05df8528ed60fa63a683bff6c2b646","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.233436,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"9f05df8528ed60fa63a683bff6c2b646"},"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/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"} experiment-1 | {"level":"info","message":"GET /experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e 200 16ms","method":"GET","requestID":"9f05df8528ed60fa63a683bff6c2b646","responseTime":16,"status":200,"url":"/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"} gateway-1 | {"time_local":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f05df8528ed60fa63a683bff6c2b646"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c69afd2f2ae86d2d03fca7f78f67191a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.142548,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"c69afd2f2ae86d2d03fca7f78f67191a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.235742,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"86ebe140-2a5f-11ef-8ed1-011028b23f76"},"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/67470d70-1813-4b74-9abd-ec6cd95383e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"67470d70-1813-4b74-9abd-ec6cd95383e4","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":"7b144f2a2dc4148f8e78ac8a253adbcc","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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9232fade-5a1a-4de8-b618-eeee1cc22e67"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d5b667bec33b262ca9b345f129086c28","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67470d70-1813-4b74-9abd-ec6cd95383e4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F67470d70-1813-4b74-9abd-ec6cd95383e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"aff346f7-a7fb-47c5-81bf-3e98d05dfc71","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.592836} 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/9232fade-5a1a-4de8-b618-eeee1cc22e67"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4"}}},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e46a14c7-a32a-4adb-b6a4-46ec232ddcdd","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.5934594} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86ebe140-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"67470d70-1813-4b74-9abd-ec6cd95383e4","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/67470d70-1813-4b74-9abd-ec6cd95383e4 204 47ms","method":"DELETE","requestID":"86ebe140-2a5f-11ef-8ed1-011028b23f76","responseTime":47,"status":204,"url":"/peerconnections/67470d70-1813-4b74-9abd-ec6cd95383e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"ecd35eed-e80c-4bc6-93f7-13a8c7e63e71","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.6440885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee9b684b-96b8-4587-be00-df9b35eaa1bb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.6444812} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c69afd2f2ae86d2d03fca7f78f67191a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"} gateway-1 | {"time_local":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c69afd2f2ae86d2d03fca7f78f67191a"} experiment-1 | {"level":"info","message":"DELETE /experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e 204 155ms","method":"DELETE","requestID":"c69afd2f2ae86d2d03fca7f78f67191a","responseTime":155,"status":204,"url":"/experiments/5247e2d5-e5ac-4cba-ac8d-43e7b5c76d4e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"7b144f2a2dc4148f8e78ac8a253adbcc","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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":"0.120","http_referrer":"","http_user_agent":"node-fetch","requestID":"7b144f2a2dc4148f8e78ac8a253adbcc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"d5b667bec33b262ca9b345f129086c28","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"d5b667bec33b262ca9b345f129086c28"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2026a20260fcf8cad355817207597628","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1488","request_time":"0.775","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f1bffdda9f88a3f1ab92f941a015bde5"} gateway-1 | {"time_local":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1755","request_time":"0.770","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"971e5ac0321e3143512394ef0cacc043"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.765392,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"2026a20260fcf8cad355817207597628"},"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/9232fade-5a1a-4de8-b618-eeee1cc22e67' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c5a2e57a-fdff-499b-ae60-aa6d9c46066b' 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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76a658a3-c7ea-45c2-865b-edebe9f812d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4565aa84-c113-4680-86c5-c27005a045ab","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.7407227} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2026a20260fcf8cad355817207597628"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07fa8186-68cd-49e9-82c2-7088570f1561","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.7445257} 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":"2026a20260fcf8cad355817207597628"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76a658a3-c7ea-45c2-865b-edebe9f812d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"29e930f6-61b1-433d-baea-c316a497a398","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.7546937} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f034384-1d2e-46a9-9b1f-c2aa4019a16e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.7548137} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2026a20260fcf8cad355817207597628"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76a658a3-c7ea-45c2-865b-edebe9f812d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76a658a3-c7ea-45c2-865b-edebe9f812d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:24.754672213Z"}]},"request_id":"999ea596-bd93-4252-9cd2-e01448b94007","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.7582655} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2026a20260fcf8cad355817207597628"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2026a20260fcf8cad355817207597628"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"2026a20260fcf8cad355817207597628","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6eaa6aeab53e6aaa848047ee7628f40e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.706482,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377524,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNH0.Yzb5JLjM4Seg5luWhlf4LIhgrQoUImGzy20ReyseV0U"} 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":"6eaa6aeab53e6aaa848047ee7628f40e"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c51e9bcb-3df5-4438-a8d8-06bd898cdb26","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.782781} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6eaa6aeab53e6aaa848047ee7628f40e"},"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:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f358a890-6be4-4d51-89b7-334a91cf59d1","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.7865198} 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":"6eaa6aeab53e6aaa848047ee7628f40e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"c4611fc6-b5f7-4531-84c1-e21261c77dc9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.7947865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7b284a7-3410-47c0-bdc1-6bf3fa042284","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.795038} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6eaa6aeab53e6aaa848047ee7628f40e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:24.794758049Z"}]},"request_id":"8faf7c5c-1a10-4ad4-8102-da26c25cd255","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377524.7987401} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6eaa6aeab53e6aaa848047ee7628f40e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6eaa6aeab53e6aaa848047ee7628f40e"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"6eaa6aeab53e6aaa848047ee7628f40e","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js: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":"3af1e5f47db177e04f5b62517109e975","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b33098a3-bb87-45be-9b80-44ab53f7210d/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":"3af1e5f47db177e04f5b62517109e975"} device-1 | {"level":"info","message":"OPTIONS /devices/b33098a3-bb87-45be-9b80-44ab53f7210d/websocket 200 2ms","method":"OPTIONS","requestID":"3af1e5f47db177e04f5b62517109e975","responseTime":2,"status":200,"url":"/devices/b33098a3-bb87-45be-9b80-44ab53f7210d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5b36a570d942db5c01e6a71af8dfe466","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.285595,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b36a570d942db5c01e6a71af8dfe466"},"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":"14/Jun/2024:15:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b33098a3-bb87-45be-9b80-44ab53f7210d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5b36a570d942db5c01e6a71af8dfe466"} device-1 | {"level":"info","message":"POST /devices/b33098a3-bb87-45be-9b80-44ab53f7210d/websocket 200 22ms","method":"POST","requestID":"5b36a570d942db5c01e6a71af8dfe466","responseTime":22,"status":200,"url":"/devices/b33098a3-bb87-45be-9b80-44ab53f7210d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e2d06a4c787c5bbd07fc177881b3df2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.09737,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} 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":"7e2d06a4c787c5bbd07fc177881b3df2"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:24.794758049Z"}]},"request_id":"fcd1195f-2cdd-4b43-be55-68bc221455eb","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377526.8745527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e2d06a4c787c5bbd07fc177881b3df2"},"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/b33098a3-bb87-45be-9b80-44ab53f7210d? 200 19ms","method":"GET","requestID":"7e2d06a4c787c5bbd07fc177881b3df2","responseTime":19,"status":200,"url":"/devices/b33098a3-bb87-45be-9b80-44ab53f7210d?"} gateway-1 | {"time_local":"14/Jun/2024:15:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b33098a3-bb87-45be-9b80-44ab53f7210d? 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":"7e2d06a4c787c5bbd07fc177881b3df2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"315b2331cae34ebcf8413b0edeced4e7","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:44380","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.511644,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} 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":"315b2331cae34ebcf8413b0edeced4e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"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:44380","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.087069,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76a658a3-c7ea-45c2-865b-edebe9f812d4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/76a658a3-c7ea-45c2-865b-edebe9f812d4","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88558360-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74271,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8855d180-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76a658a3-c7ea-45c2-865b-edebe9f812d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76a658a3-c7ea-45c2-865b-edebe9f812d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:24.754672213Z"}]},"request_id":"cc5c25c6-8fb6-49da-ab38-fbdf2e5e60d2","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377526.9441035} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88558360-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:24.794758049Z"}]},"request_id":"89050e4d-b991-4da0-8d85-ad6f7071ca6d","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377526.9447649} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8855d180-2a5f-11ef-8ed1-011028b23f76"},"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/b33098a3-bb87-45be-9b80-44ab53f7210d? 200 16ms","method":"GET","requestID":"8855d180-2a5f-11ef-8ed1-011028b23f76","responseTime":16,"status":200,"url":"/devices/b33098a3-bb87-45be-9b80-44ab53f7210d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/76a658a3-c7ea-45c2-865b-edebe9f812d4? 200 20ms","method":"GET","requestID":"88558360-2a5f-11ef-8ed1-011028b23f76","responseTime":20,"status":200,"url":"/devices/76a658a3-c7ea-45c2-865b-edebe9f812d4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.060419,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:26Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/76a658a3-c7ea-45c2-865b-edebe9f812d4","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/76a658a3-c7ea-45c2-865b-edebe9f812d4","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","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":"885b4fc0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"32d87160-e435-4a63-9a90-7aa626f61325","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377527.001073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d893c41c-f9d5-4dc1-aaad-3f30a978c5d9","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377527.0013285} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"885b4fc0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 25ms","method":"POST","requestID":"88619150-2a5f-11ef-90ee-953afafa77dd","responseTime":25,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/76a658a3-c7ea-45c2-865b-edebe9f812d4?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 73ms","method":"POST","requestID":"885b4fc0-2a5f-11ef-8ed1-011028b23f76","responseTime":73,"status":201,"url":"/devices/76a658a3-c7ea-45c2-865b-edebe9f812d4?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"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:44380","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:27Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.162334,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} 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":"886e3b80-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34624","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130978,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} 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":"886eb0b0-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:27.001034932Z"}]},"request_id":"443aca29-6eba-4b96-85d2-53629fcd9237","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377527.1118944} 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":"886e3b80-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:24.794758049Z"}]},"request_id":"5f0371d4-9c67-4e0d-9b7c-569f2aa060d7","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377527.1135612} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"886eb0b0-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2#owner@http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"644b32b4-7d6d-46bf-838a-d07f9671630b","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377527.1185691} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1154488d-052e-4cca-b9b3-1383b211fb3f","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377527.1189253} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25? 200 25ms","method":"GET","requestID":"886e3b80-2a5f-11ef-8ed1-011028b23f76","responseTime":25,"status":200,"url":"/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"315b2331cae34ebcf8413b0edeced4e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"GET /devices/b33098a3-bb87-45be-9b80-44ab53f7210d? 200 23ms","method":"GET","requestID":"886eb0b0-2a5f-11ef-8ed1-011028b23f76","responseTime":23,"status":200,"url":"/devices/b33098a3-bb87-45be-9b80-44ab53f7210d?"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2","user":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"14/Jun/2024:15:05:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.250","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"315b2331cae34ebcf8413b0edeced4e7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 244ms","method":"POST","requestID":"315b2331cae34ebcf8413b0edeced4e7","responseTime":244,"status":201,"url":"/experiments?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"86b844c8241680dabd64afd01fdf20b7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"14/Jun/2024:15:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25/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":"86b844c8241680dabd64afd01fdf20b7"} device-1 | {"level":"info","message":"OPTIONS /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25/websocket 200 1ms","method":"OPTIONS","requestID":"86b844c8241680dabd64afd01fdf20b7","responseTime":1,"status":200,"url":"/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6IjFtY01YRDdNc1g1ODRabnBZQ1UxV0E3WFdTVWdyTGt3M0JDOV9uMU95T0M5SzFzM2l3LWxLV1JFejNYZGdEYVZxS1ZxaUNIVHc1Y013ZTdFQkNVZ0NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyOX0.-H6Su5iEH0fV5WROx7dCotxnda8Exi3VeUomCuUC8ZY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d60d51841cf82fd7ed5685574986b261","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.25114,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","object_type":"device","payload":{"admin":true,"edgeToken":"1mcMXD7MsX584ZnpYCU1WA7XWSUgrLkw3BC9_n1OyOC9K1s3iw-lKWREz3XdgDaVqKVqiCHTw5cMwe7EBCUgCQ","iat":1718377529,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6IjFtY01YRDdNc1g1ODRabnBZQ1UxV0E3WFdTVWdyTGt3M0JDOV9uMU95T0M5SzFzM2l3LWxLV1JFejNYZGdEYVZxS1ZxaUNIVHc1Y013ZTdFQkNVZ0NRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyOX0.-H6Su5iEH0fV5WROx7dCotxnda8Exi3VeUomCuUC8ZY"} 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":"d60d51841cf82fd7ed5685574986b261"},"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":"14/Jun/2024:15:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d60d51841cf82fd7ed5685574986b261"} device-1 | {"level":"info","message":"POST /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25/websocket 200 23ms","method":"POST","requestID":"d60d51841cf82fd7ed5685574986b261","responseTime":23,"status":200,"url":"/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25' 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":"6c6ed8201cca927cfecd2cfcd6da822f","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/b242d45d-81e3-4bf3-b099-c37dceed4e25"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyOX0.kZVl3ioPDY3B3om9hHvr_ImmCj6zNvPu6rrEBVoYaiM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24711b58e2f32637a8e6f0250469b547","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.879837,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377529,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyOX0.kZVl3ioPDY3B3om9hHvr_ImmCj6zNvPu6rrEBVoYaiM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24711b58e2f32637a8e6f0250469b547"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:27.001034932Z"}]},"request_id":"f4ac9d91-8cc7-4d36-b88f-fd8e2534055c","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377529.202812} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24711b58e2f32637a8e6f0250469b547"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 19ms","method":"POST","requestID":"6c6ed8201cca927cfecd2cfcd6da822f","responseTime":19,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.022","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c6ed8201cca927cfecd2cfcd6da822f"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"14/Jun/2024:15:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25? 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":"24711b58e2f32637a8e6f0250469b547"} device-1 | {"level":"info","message":"GET /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25? 200 20ms","method":"GET","requestID":"24711b58e2f32637a8e6f0250469b547","responseTime":20,"status":200,"url":"/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyOX0.kZVl3ioPDY3B3om9hHvr_ImmCj6zNvPu6rrEBVoYaiM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"02092ea50727b063a823b2a8d93123dc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215259,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377529,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyOX0.kZVl3ioPDY3B3om9hHvr_ImmCj6zNvPu6rrEBVoYaiM"} 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":"02092ea50727b063a823b2a8d93123dc"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:24.794758049Z"}]},"request_id":"b52ad2d2-3f2c-4346-b064-ea9d55482838","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377529.2306767} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02092ea50727b063a823b2a8d93123dc"},"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":"14/Jun/2024:15:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b33098a3-bb87-45be-9b80-44ab53f7210d? 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":"02092ea50727b063a823b2a8d93123dc"} device-1 | {"level":"info","message":"GET /devices/b33098a3-bb87-45be-9b80-44ab53f7210d? 200 21ms","method":"GET","requestID":"02092ea50727b063a823b2a8d93123dc","responseTime":21,"status":200,"url":"/devices/b33098a3-bb87-45be-9b80-44ab53f7210d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202178,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} 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":"8b6e3510-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:35768","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:35768","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.103079,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b6e8330-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:27.001034932Z"}]},"request_id":"90097feb-a0fc-4897-9526-02eee03b9eec","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.1477287} 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":"8b6e3510-2a5f-11ef-8ed1-011028b23f76"},"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:50230","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb33098a3-bb87-45be-9b80-44ab53f7210d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"timestamp":"2024-06-14T15:05:24.794758049Z"}]},"request_id":"7b17e855-af9e-44c4-b76d-ad14de23d676","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.1533055} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25? 200 26ms","method":"GET","requestID":"8b6e3510-2a5f-11ef-8ed1-011028b23f76","responseTime":26,"status":200,"url":"/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b6e8330-2a5f-11ef-8ed1-011028b23f76"},"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/b33098a3-bb87-45be-9b80-44ab53f7210d? 200 28ms","method":"GET","requestID":"8b6e8330-2a5f-11ef-8ed1-011028b23f76","responseTime":28,"status":200,"url":"/devices/b33098a3-bb87-45be-9b80-44ab53f7210d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":2.094531,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","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":"8b736530-2a5f-11ef-8ed1-011028b23f76"},"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/b242d45d-81e3-4bf3-b099-c37dceed4e25/signaling 200 15ms","method":"POST","requestID":"8b736530-2a5f-11ef-8ed1-011028b23f76","responseTime":15,"status":200,"url":"/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.352467,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d","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":"8b764b60-2a5f-11ef-8ed1-011028b23f76"},"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/b33098a3-bb87-45be-9b80-44ab53f7210d/signaling 200 11ms","method":"POST","requestID":"8b764b60-2a5f-11ef-8ed1-011028b23f76","responseTime":11,"status":200,"url":"/devices/b33098a3-bb87-45be-9b80-44ab53f7210d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"80bdc898-7d61-4ca0-8128-ad09f4ed13a7"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3d08bbc1-8842-46ae-a16c-687e1cd6a955"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"654bde9d-89c8-4b58-b93f-e0d8a02b7fd0"}]},"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/b242d45d-81e3-4bf3-b099-c37dceed4e25"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.117967,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377526,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUyNn0.AEhzO86WQ_GXOnxpvJxdtUwzLflSFqRClYXwNzOFTYQ"} 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":"8b789550-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","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%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]}},"raw_response":{},"request_id":"86334703-0258-4cfe-81ac-2eb2703e32ec","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.2155669} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19a7558e-2003-4dc1-be9e-042ebeb3dc5e","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.2159686} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b789550-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"8b789550-2a5f-11ef-8ed1-011028b23f76","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"54387818-2e3a-4cc6-9f48-322507c51023","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":"ace9fae6bf1b5d20102bb2df33039149","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/b242d45d-81e3-4bf3-b099-c37dceed4e25"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"ace9fae6bf1b5d20102bb2df33039149","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"ace9fae6bf1b5d20102bb2df33039149"} device-1 | {"data":{"peerconnection":"54387818-2e3a-4cc6-9f48-322507c51023","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"54387818-2e3a-4cc6-9f48-322507c51023","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"54387818-2e3a-4cc6-9f48-322507c51023","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":"47458c542ebc6e03eda9e3f0fc19e6cd","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/b242d45d-81e3-4bf3-b099-c37dceed4e25"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","contextual_tuples":null,"store_id":"01J0BME2NTAC1R4JQ974MW22PB","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F54387818-2e3a-4cc6-9f48-322507c51023","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0c9dbbe-9407-49b6-bd78-96351214a512","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.47111} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.041141,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023","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":"8ba1a120-2a5f-11ef-8ed1-011028b23f76"},"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/54387818-2e3a-4cc6-9f48-322507c51023 200 9ms","method":"GET","requestID":"8ba1a120-2a5f-11ef-8ed1-011028b23f76","responseTime":9,"status":200,"url":"/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"47458c542ebc6e03eda9e3f0fc19e6cd","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"47458c542ebc6e03eda9e3f0fc19e6cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUzMn0.-XAFJvLfjeFDN421yzfTjipx3OGHznY82dP8XuiodlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69581cc76e42885e1f33ccdfeefe3b06","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.222447,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377532,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUzMn0.-XAFJvLfjeFDN421yzfTjipx3OGHznY82dP8XuiodlM"} 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":"69581cc76e42885e1f33ccdfeefe3b06"},"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/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"} experiment-1 | {"level":"info","message":"GET /experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2 200 12ms","method":"GET","requestID":"69581cc76e42885e1f33ccdfeefe3b06","responseTime":12,"status":200,"url":"/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"} gateway-1 | {"time_local":"14/Jun/2024:15:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69581cc76e42885e1f33ccdfeefe3b06"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUzMn0.-XAFJvLfjeFDN421yzfTjipx3OGHznY82dP8XuiodlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cf5102ca04e8dbb10f982cfee09b5ae4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.193239,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"experiment:http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2","object_type":"experiment","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377532,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUzMn0.-XAFJvLfjeFDN421yzfTjipx3OGHznY82dP8XuiodlM"} 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":"cf5102ca04e8dbb10f982cfee09b5ae4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.237,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"peerconnection:http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377532,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUzMn0.-XAFJvLfjeFDN421yzfTjipx3OGHznY82dP8XuiodlM"} 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":"8bb32d50-2a5f-11ef-8ed1-011028b23f76"},"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/54387818-2e3a-4cc6-9f48-322507c51023' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"54387818-2e3a-4cc6-9f48-322507c51023","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F54387818-2e3a-4cc6-9f48-322507c51023': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F54387818-2e3a-4cc6-9f48-322507c51023","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"d51e2919-9b1a-408a-9ebf-6ab5bd6f5a51","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.6047056} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d98679fc-d6f6-4044-8836-6ec6dc4412fe","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.6050565} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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":"62b78c3747f02aabec7ba7889fe78f98","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":"8bb32d50-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/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/b242d45d-81e3-4bf3-b099-c37dceed4e25"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ea79f081549f5282e053ecb97cce77a9","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/b242d45d-81e3-4bf3-b099-c37dceed4e25"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/54387818-2e3a-4cc6-9f48-322507c51023 204 44ms","method":"DELETE","requestID":"8bb32d50-2a5f-11ef-8ed1-011028b23f76","responseTime":44,"status":204,"url":"/peerconnections/54387818-2e3a-4cc6-9f48-322507c51023"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:44380","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.32483,"resp_status":200,"subsystem":"opa","time":"2024-06-14T15:05:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","openfga":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","store":"01J0BME2NTAC1R4JQ974MW22PB"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570","object":"device:http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25","object_type":"device","payload":{"admin":true,"edgeToken":"lETtbzM01p5yk17I07JpXQpELfjtwjiecrINXNXJ3SIMZq4uAIZzLvAeE-YjGnhxwvLbrYLSlt26LidoQBqsRQ","iat":1718377532,"sub":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570","subject_alt":"http://localhost/users/a7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2E3ZmYzOWFiLTU0NDAtNGJhNi1iZjdjLWZlMzc3OGZmYjU3MCIsImVkZ2VUb2tlbiI6ImxFVHRiek0wMXA1eWsxN0kwN0pwWFFwRUxmanR3amllY3JJTlhOWEozU0lNWnE0dUFJWnpMdkFlRS1ZakduaHh3dkxicllMU2x0MjZMaWRvUUJxc1JRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxODM3NzUzMn0.-XAFJvLfjeFDN421yzfTjipx3OGHznY82dP8XuiodlM"} 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":"8bba8050-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb242d45d-81e3-4bf3-b099-c37dceed4e25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"2e7e8978-b3c8-4653-b9e3-67f5916a60f3","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.6485143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"715c7215-278e-4505-ba50-f09d18d78748","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.649249} 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":"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":"8bba8050-2a5f-11ef-8ed1-011028b23f76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/b242d45d-81e3-4bf3-b099-c37dceed4e25 204 37ms","method":"DELETE","requestID":"8bba8050-2a5f-11ef-8ed1-011028b23f76","responseTime":37,"status":204,"url":"/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"},"level":"info","message":"Successfully finished experiment"} authorization-1 | {"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"authorization_model_id":"01J0BME2QC3MCNTGY4R9X5ATT4","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fa7ff39ab-5440-4ba6-bf7c-fe3778ffb570"}]},"store_id":"01J0BME2NTAC1R4JQ974MW22PB","writes":null},"raw_response":{},"request_id":"7471c5b1-288c-4e74-9bff-1e8cbf1d85bc","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.705025} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50230","raw_request":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","store_id":"01J0BME2NTAC1R4JQ974MW22PB"},"raw_response":{"authorization_model":{"id":"01J0BME2QC3MCNTGY4R9X5ATT4","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0186c382-d420-45ab-b446-aefee2597256","store_id":"01J0BME2NTAC1R4JQ974MW22PB","subsystem":"openfga","timestamp":1718377532.7053597} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf5102ca04e8dbb10f982cfee09b5ae4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"} gateway-1 | {"time_local":"14/Jun/2024:15:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf5102ca04e8dbb10f982cfee09b5ae4"} experiment-1 | {"level":"info","message":"DELETE /experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2 204 201ms","method":"DELETE","requestID":"cf5102ca04e8dbb10f982cfee09b5ae4","responseTime":201,"status":204,"url":"/experiments/67ad741b-1d8f-4ca0-8a2f-cd5451ac8ad2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 166ms","method":"POST","requestID":"62b78c3747f02aabec7ba7889fe78f98","responseTime":166,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.168","http_referrer":"","http_user_agent":"node-fetch","requestID":"62b78c3747f02aabec7ba7889fe78f98"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 165ms","method":"POST","requestID":"ea79f081549f5282e053ecb97cce77a9","responseTime":165,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05: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.168","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea79f081549f5282e053ecb97cce77a9"} gateway-1 | {"time_local":"14/Jun/2024:15:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"3.612","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5b481709c5b25e354c5c0224d5cf09a9"} gateway-1 | {"time_local":"14/Jun/2024:15:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1488","request_time":"5.943","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"79960f5194147a459e73fe7abdd8f825"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b33098a3-bb87-45be-9b80-44ab53f7210d' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b242d45d-81e3-4bf3-b099-c37dceed4e25' 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":"4909f60cede76415ad63b1a7251e8f5c","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/b242d45d-81e3-4bf3-b099-c37dceed4e25"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"4909f60cede76415ad63b1a7251e8f5c","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"14/Jun/2024:15:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"4909f60cede76415ad63b1a7251e8f5c"} authorization-1 exited with code 0 authentication-1 exited with code 0 device-1 exited with code 0 experiment-1 exited with code 0 gateway-1 exited with code 0