Skip to content

Commit

Permalink
feat: first stat public draft (#558)
Browse files Browse the repository at this point in the history
Co-authored-by: Arnaud Ambroselli <[email protected]>
  • Loading branch information
YoanRos and arnaudambro authored Apr 11, 2024
1 parent f8cb4c3 commit 0e4af7d
Show file tree
Hide file tree
Showing 10 changed files with 186 additions and 5 deletions.
2 changes: 2 additions & 0 deletions .kontinuous/env/dev/templates/api.sealed-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ spec:
PUSH_NOTIFICATION_APN_TEAM_ID: AgBNaUpNVwgMWgXIX2GvWj63ycn+goXoKzR7BomMsgU6DXZZy2HTCSQC1uVxVREJFrwrLLuivVG8YE6SVZXLyTRq+DX3uhGvFTZMQhJPPIGo/NhF/05fEZbCP4zzhAXBEP2stVAxCQ9dELVzwEhcyeC0WeNs41IAPnnRFXmlEk3VmE9kQ5mvLYvI80cyOtvrg9F3+DmwXMBN9ZsVrV4BqixbzSWxvIWqC7lljAjkUqOIk/sYbmn3RVNWqfLuknJs7mIRaHCNIJGmfM6Uufk2EVIulfd4f5vJshsYz4xevz7gPVWt4wm+Ez/Xzuqj9rdli6JNux2YpWY0Gvn2ADa/Rkrt78npxtyIjMj2vWdIsOakJI9ISb2rRyccalR1ofCqN4bn5JXJvZqKrk8teeXqjA2r5dqd/kn0oY5KMs/jbJnIZNMbYd2LbvRSbeqRo7K3d49lWY5Ac2e80gfR1fgfiEXhhmHaRoTkZXgTb7H3PDLDPMdbIUAUtAau0wLcGTKPtTzUmwDKIhPu7lpiYY/VGKjFvCQWLsVBaytoKY3BcljEvxn5r7ZQy4bxEwehC2LQGj0JmUG301q1TU3Ja2utXca2MT15CVUHZrVkcuZGgSH4VX49tnxD+VOwKl4PP/Nlpb3NtcPWoJ7Pi9iYgNWSiUL1M6NDHoF2gNqILqjvmD5wuivRoHSdKxHKew9GaIsaLHvgpgCs4zYdmcf0
MATOMO_URL: AgAl648b7Bh0ZdQVOCQLx5yb/ECZwDjV9hVEMIfPk4AW/jAKK0v41MOCXnVpbZRoDaDxsKTO45iFiOu50VU+zEdW2dRSY41DbyFUakIeB/Q1ZIBRFWhZ/Q7iqiIvYKmYv6YwyM31cHoQEu6qtIdu1AeXL1i+pyKXfMWHNEP12NqFzyxh/1N/vjtpWK7fuS1W4RuH4+xtuEQtxylZiOIl5tdVDI8KbH3KFaWrFtwg076+J0YQD1x/AgT+YyGtCs0hdvGLPp1VdZhv2EZDcPgTBSGhhvQN7dA1MSZm+iEbXV3t5c3OeZS27aJtDqIr+RHMwxDYAf4W5FSWj/zLmr0Kukjg03XejVta+ag9381uulJwPlLtFCqkUnuG6BcpkDXRKh0ClNOk9lJ6upME8h+7rWrMcJW8hfgkA3LY/VhTbqL9DGtqCUGGKglM8dAcrdIZ5q2FbEnZT+XtAPBm1QRLlJhXHarNgD4yJOr/Cbx4kgxKEnYep3e2HQUmyh5K/QXlsZYxNvthhUdx6UED41vSKwWRKvRHHZ9Ojllb3zOqhfIm6WNQLS+y0vWGnumPMcCvtrmrikv5GaPu0rgwQd52RE8oXQ5P5hWUHq7YmqHBUkRYKakrnmI1OWgEpfdIYgPC/EzJMYSFUuYf7WfwLTMCGV/XOaZltA3uOD5m4T10UNlDWLZDs8RZFGN8v9HVmY6rwXbOg9edBxS7B7QbbB12fOfV9omYEO3LGiPdyRhLMz9Hq3Rwh6IKnb9rAqaQ2puIhwo=
MATOMO_IDSITE_1: AgDPS5TVfUoWah4DI0p7cvOjmQ4IB4YYS2pUNIkgxRnko+BAlQDPM3zRQL5yj1hsylkyp4VrMPghJ157xHE1s52ifu0TpXmg/9xpLQbK1de7HZaHTB6exaDxynf5/T0unpUpOqe7pFVRsQ+hX4LNLYdeWjXPd4Bnhu3/KR581rW37q7qG9Z6nWnk8TG7H2pVliZnsNpYWl08Vo61RdCHaZC2aX5jBQx1hTq2DSaGzGT/AGghrPz/7yLMQv3nReiaOzs7PG4fB5gb1lco6cJFztN4S1Zdo9eOKIRT+kkmU//T2v9GfMl15h9cJxPbxnGLsGg4GMykvn2TokWBsUTIIGzcJTh1+tIJamOpAcfWnQn2Px4BCCPDYUmYazPo87ZROlEn6WUrIQ+otoQLC6U6+wa+hsJXbAmSpH88ZlsPzFNDwCTtMOKMAyhCjwASPWiMU4VR5KQAUf8fHAuVFQP8FD22XYI8XD1DHrl1YujkVGa/IwZscUzIUnK7JBg99fdSKtqWrLF86L+fL6zPrvi8m/QpRMH0g1Raj+TZ9XNgxZpfDfANRBwV6XAym3nZEoVLS3f2COwrNOjgtydymVGG9ujOtK3i1GfNI0gQAPLBlMJmGgaaQb7rfn6dYkAvbaks0ZNkhxtBseqasU3bcCvAcFvJ1IfPBg6ryZxJlg4BdiV9nnym7C4BTXIAmUpuzww3RIC4gg==
METABASE_ACCOUNT: AgDLzIalMS3haV2a10oQ/VjPeIoFdAuRZD7Uaqnyjn9bCPa59MY4ObSNeWwg1uNg5k2xq0piLex9NUaYkfj0AE+J8WChzq/HT4tYOi1IvHDq+WuDkfk+5KsQo7KnqyL2h5yl1WRpLdmNf/8Ed6BEyCkOvTmPR77fyt0N9tPpExMur49+EhoOubFr6bTxYIxOF6b8EnKYuxoV5NYNjJ1edFrUk7vTx3Yn+9xO5tchbNLE4Cua+O5MzAZ5lVW3RAntv9TFI73z91y7QR7OjkfrC3w2AFVaFOKTuJrGy9/LGdVjQgu3AJZBbJjn1yL6lHD3jO75TmE0KDmYMGd5nJ20B8gcUWCEVmM4idUj3nf3dKFoTcsXQ96vICutdkyHM6YZYLJhVWekB8t0TCm01PNOfRtPjjPS0l5/fuA3+xq+0lRDhH/Yrgd9hT+BGujBkOnJqMGkrODtHlqXoGAaTr9D0EgYOsf8zW+JbFCYOTlqzJDKyRbXegSTuLQyOvP4i+AmB5X6nN3emh+MBCNg/Y1VqH8LY708FJEapsegBEQIUlrJYKaZLT53TGFN0Y/NcPan0dIV4flMW0MMYn2hHjIbh8sHst23o3jfRUQ66LELbwLJPRxc7qRekDewXLleDa8jbyh1M0zlTCvik+U/cZZjN4efeJzZIFF7vOhJbUCrs6rwgSsiAhSWHnfn4fga3NZ22aLvI+8S64CJ+nIWWXxszp3IrG1SXvk=
METABASE_PASSWORD: AgDE7mwafwjhVEDSuLKxzH74d4j0gzU6Kz/PI4NFie8Xl/6UlBaZ1uWhY4NpWtOndc1o5VyTPgy912pcbAhb8Yrlwj+a5JEwn0a/p50zYajSJfL4ZK/R/BgU2WnMgYQB2xWemfL20uXUwgPb8v8CjFWu5GAbVkvcNb7hPnRHTz2luigsdEikIAkU4G6tXqfrIu+cj8c+ZlId80YRE8pFMlhyZJUHAI450ZTiPPaATamK/Wk9TgAcLXX76MCTQ5l+bui1bx/r0S5K1dNsMzAgGodhb/1ao+4TfFTI8NcOGDmlfABrVTxWuYk0mH35Q8dvAGqoA2/vgIAk6vKQNYKXvzPdvuf983apYOpJXcGUvCJumMi+9vnlUSy1XOEyne+YkqS91c1Cf8o/fyvjuat2vKu7VE0P0jJ2ZbnHAfqtv7xvSwaOOdZuV3sRZkTu3h5b8qKwjy1epKg/7SXDCqH00ubuto5os+7uusU4PmnRyR9oiAXn+VMABZ9rAnaxrG3tGHtcC3hlKqLK3uDsQLn28I4U6F0TW3hs1xxD+nZbJ/tP0JG9VZjYLEIV9en2gKLmjOzf6X7QL0lmyY0Z1JqvDLSuVrejjl48dQnMus+hsvZm2Tz1FDXbSSTCbPpa9iGL2Prh3ZvXBT65pzSVZRdLN+DqLBuheEAN/buzlvD/gvURbBJcHkNziRNQLq1OLDFSCgKNj4ohYZMKYYdmDu7Cg/A=
template:
metadata:
annotations:
Expand Down
2 changes: 2 additions & 0 deletions .kontinuous/env/preprod/templates/api.sealed-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ spec:
PUSH_NOTIFICATION_APN_TEAM_ID: AgDWMtVDXh+6cSNOI4luILXX1CL6jk+ywsN7hpZcS7z1MEQQkPwePlKuMWslZHekn4cLTAzipdUVTm/puexyFfHTg21g3wtPAXcl2sA5wyuU/3jZMXOZLZzvFqCiNwT//Wb0pDf2Wb+DcMacFKV+K1AG4S+GNfJLtHMorBT5SGVogWv8Cm3NPAR5q4VaavkZs5vXGs42RoL6lqN6nUgfwjASCgCt2s2gugWSYiD53OLYeJh0IilwfdMjgPDRpPnm5Chbw6VHStHia4sgRI1Nhdg/Is5oB6st4Md3i+Zr75da5nTbAmMxZH53oKRq0X0xgPXyqMAMUSAOJ2N5bXhdl64y8G5Dwvh+kUM5+ROBVuNJUes9IL5W1W+ZwuJ4QsGxtd8HqIVlHpl8VGGwskMqEFIbse6OXf1KTJUTgZvb0YP+7d8cz/zzqPKmvI5AjmtWXni6ualp+Fy5e1AvvKkdFD4KPVaT+3ji7X9H3jb6QAMOUf863LM1mBqHCqOQTIV1hRLpcDklrVTleH3wJ1lAgYVWQ3q9M2t3h1+rVPnOuo8OyL2TcKyYbGEkRLTKMoadA9VE/RhG8QHgRwHLlIteDqWyMzu11wibys3nin3h8V/+ACIsKG3UK3MjpxV4RRX1dSa6IikBMppwDVLXKK82cVcznOPwjEEjADiEm5tmAuJK+nHpKo1XbBL+AF71j69/sJuMI/vpiCd146J/
MATOMO_URL: AgAiwyZGd077qRk7nGRyplBoK2f8/+h82E1MQExIGJMtQVqU465aQI7W79vZzVXIPn3DakELhEYjvEoYHrqbCV2XxsQJvdNDjJlptu197BGrhvP+6Dnb6kRZxZMuaqv9p5DU0iss2g6gd0Whl6i3jeGMapZNXISLG6uSvhZ10XsbgvSSECgCulHIHHEbzsJGtZYC9t00ee47OHUYDGC2CR0Yi5Sxu7wjuy0lQQ1pRt6wVsMEWvJH/HcvxCP7CtIoh2lubmZ7JyvyVzqklqyj/qdHqRHWXbRf0RN5dHgZcA/XBIC4+1gtP3TueVFnmll9Ym4gtGbV1etQDzs+c9FOKl4g7gBVrS+CBJ/uyBtOxFZBUS1OeCAeJndmTxsAS1aVk5xezrIsQTjzcFWIJm9GcHdZPpQWxquoBdbMPXM+zFUsf8DTKf5fYhMTvdvI19ti5DXXC67uQhB1aALtnvMDrAwqbACB8Ye+I37U8nqtm6zKZ+413o0wFKrLZFV9KM9/7A8yE6awdtTohQrS0K1/z7BLqlN87N5i8branOfx52PK8iAWZYyeTgo+dX5a7lA0XuXpynf/3SkCASafcGqwESKjsdWNN1UMVwFnrlspoqStUeAPO0uDsG6a6ftVj7QFfknJl/TtM46MsoUHZYwNNuEVCqC9rYTjYWtybeor7RE4+OcIhBEITcXKbAYiMnppXTtw15VrVobfrDcXbFfrG/cRSUpjp3xYMyocdu2zNjS2jvoIFglBnm0xKUg3JvOHPPA=
MATOMO_IDSITE_1: AgB6tr0WyGYlHhTYZwxp7zD2iBE6jbAtrl9/7bpuhrYubCCx8w6C/cLHFLxEq8n49G1cgK7J7rBtVdQGat/ONHuW4GX11fyrVITh9fJf8F5M9D6rsGNuN5qP6wvkHL6wT7eL3kXkyLGco6Ux82fbpfmEXURiU3sSykpj6dyWiWedJnH6+ENNlViGykbFEEDb0uVZ2Hs4972bZQlbEmrcApwkOGZKgPqboo8Ufge2okBs/Am0xSM/sowDqEKUhnFZGJZXnNE2R5vKre7KqCjeuClWt47yaGMGaAheb3ken8yRDS/xlknr/NP8b7MmKXei293NczvQeJmw6gIL5QTOOvDqMSPbldsJG6xuFeUuCAL9PtBgbQ0knEupj33RMZVvbHtMdkvOPvJY0d6/APieCsYMHKzVj05NnVaUGrByW1Ah57Ep7usAiULgUBQJ6zaJ/C74PNJOzxV2uhHUzxZ7mzoup5ta8CjBwcrs5KhC8QkhEIOh9AP8MsqI5A9QUnGMb/Odgybmd40X9szyOEy7qfPjH7+hkwBqmgYVtp8ocbOyNFrS/0K7Bzdk7i9gibYtJM3DKbWtiJ/nfA0iBJqDdgTwVC/sAW9Db0iShc7ZoFvtszJR3b5JB1cn4KkiOyaser+CMLicuQ+xhcDNbe+unNeGawGDc7MzQ8FASEk2CtW741MQFJK3GuNhl0l4lGfIX1LkHA==
METABASE_ACCOUNT: AgDLzIalMS3haV2a10oQ/VjPeIoFdAuRZD7Uaqnyjn9bCPa59MY4ObSNeWwg1uNg5k2xq0piLex9NUaYkfj0AE+J8WChzq/HT4tYOi1IvHDq+WuDkfk+5KsQo7KnqyL2h5yl1WRpLdmNf/8Ed6BEyCkOvTmPR77fyt0N9tPpExMur49+EhoOubFr6bTxYIxOF6b8EnKYuxoV5NYNjJ1edFrUk7vTx3Yn+9xO5tchbNLE4Cua+O5MzAZ5lVW3RAntv9TFI73z91y7QR7OjkfrC3w2AFVaFOKTuJrGy9/LGdVjQgu3AJZBbJjn1yL6lHD3jO75TmE0KDmYMGd5nJ20B8gcUWCEVmM4idUj3nf3dKFoTcsXQ96vICutdkyHM6YZYLJhVWekB8t0TCm01PNOfRtPjjPS0l5/fuA3+xq+0lRDhH/Yrgd9hT+BGujBkOnJqMGkrODtHlqXoGAaTr9D0EgYOsf8zW+JbFCYOTlqzJDKyRbXegSTuLQyOvP4i+AmB5X6nN3emh+MBCNg/Y1VqH8LY708FJEapsegBEQIUlrJYKaZLT53TGFN0Y/NcPan0dIV4flMW0MMYn2hHjIbh8sHst23o3jfRUQ66LELbwLJPRxc7qRekDewXLleDa8jbyh1M0zlTCvik+U/cZZjN4efeJzZIFF7vOhJbUCrs6rwgSsiAhSWHnfn4fga3NZ22aLvI+8S64CJ+nIWWXxszp3IrG1SXvk=
METABASE_PASSWORD: AgDE7mwafwjhVEDSuLKxzH74d4j0gzU6Kz/PI4NFie8Xl/6UlBaZ1uWhY4NpWtOndc1o5VyTPgy912pcbAhb8Yrlwj+a5JEwn0a/p50zYajSJfL4ZK/R/BgU2WnMgYQB2xWemfL20uXUwgPb8v8CjFWu5GAbVkvcNb7hPnRHTz2luigsdEikIAkU4G6tXqfrIu+cj8c+ZlId80YRE8pFMlhyZJUHAI450ZTiPPaATamK/Wk9TgAcLXX76MCTQ5l+bui1bx/r0S5K1dNsMzAgGodhb/1ao+4TfFTI8NcOGDmlfABrVTxWuYk0mH35Q8dvAGqoA2/vgIAk6vKQNYKXvzPdvuf983apYOpJXcGUvCJumMi+9vnlUSy1XOEyne+YkqS91c1Cf8o/fyvjuat2vKu7VE0P0jJ2ZbnHAfqtv7xvSwaOOdZuV3sRZkTu3h5b8qKwjy1epKg/7SXDCqH00ubuto5os+7uusU4PmnRyR9oiAXn+VMABZ9rAnaxrG3tGHtcC3hlKqLK3uDsQLn28I4U6F0TW3hs1xxD+nZbJ/tP0JG9VZjYLEIV9en2gKLmjOzf6X7QL0lmyY0Z1JqvDLSuVrejjl48dQnMus+hsvZm2Tz1FDXbSSTCbPpa9iGL2Prh3ZvXBT65pzSVZRdLN+DqLBuheEAN/buzlvD/gvURbBJcHkNziRNQLq1OLDFSCgKNj4ohYZMKYYdmDu7Cg/A=
template:
metadata:
annotations:
Expand Down
2 changes: 2 additions & 0 deletions .kontinuous/env/prod/templates/api.sealed-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ spec:
PUSH_NOTIFICATION_APN_TEAM_ID: AgBlrwED07kM3cXJkJU1B1BbxEsK+YE2QRxaOUh32CrAMQ4XNrd6gOTolDkBAkJvRKTgvsLyGkxzHKIH5dnF7r/tax9OLfVhYbCde9DJPUL6lcjPWU9iPuOMAGOMiKDF7xxgZBdK+h0q66KwILE+OsaRpic9nmJDjO/JoHw5HrCGjL+iXzdqMHvxIWSJN0DNNpwPTxw6bgqfeNBKkD+fFdSePIcDotyAEShN4yDlJKEKrf2xH1GZNx76+AjnX4ffFTUVe7q0DV1KsWMcXfmLtKxcDZkwMWcy0kQiZU8oTufb+mOmWcEMT9jxnKxkNPIfJQFoPX4+ytEkb3HGvdK9IBeieN3penH9k25RruEtwHA5RotB7ODEWOSM2IUlv5YQuf9kkxfyOdv9gokZr0KI7nby6QqzqRgP1NJ/xIzBpspYwpvn4lB75DTtzEiRpKbkzo9ynnnZ5iXdRtBz1/FHa9MErWj3dEpQ0zTL4zqfUkBHPZUupx3qrOD9TVEw0ucKk1GEkFi5ZTke8hYUAOXlWzEqQRdtKzVp+60d4UJ9H7W97rtcseriwE6Ap9vAG2vRepjiOMqoBua6z/5nNRLUsz3dTZbpNOh2GZDn/1faBnVDYdInDXE8TrG7jBtyb0PRsiJVDgYzrN3D+vh6tKTe4t768ZAWC7jAs4HA/WtXbDLNklWnnkW0ukPC7aQUQ6ypNLs0UFpR0LGtpXel
MATOMO_URL: AgAbSG03sDY0g4MGN00OkV90gn38i7sEkEd0BDuU1ijAE1wISb9bjkM4+sOniFsXcGgN5a9mXInDGYN00RBJL8+1t+ujs7NwTRGJp4Oc5eaeiuIyIQv1+GlKS7lca0APDmXumsF1mSvYoAPUGc0hjuUibmWAhN5bW+g6yc6ddrn3ruNMM7xQFsY3kXPEO96rHkGSQANN+ofzq4rG36H9RkdwoCumgky4+vNDRQEpQzoNnwbCJCjcIJ5teUd12tpnVKtECAS7heY5M7ewzAkZq898duGEXIw35ShFVRUY6EqQJrUDq/tg0NrP+Rfh0at3IV9uFax7qUZy6hJEHad2P9YuHakHC1wJ1tdGSVo8KQ1B9HMoDuaAG1v7tNqevVf5fvYo/8A6kKPGI+I33oltgG8/2RTxnrsV5XqZPu4BGDv+i1uCjq3/klwmtXiPFnIHE0omuq/vdnBNQLRdCpttiW5LfS866+N5zJQXw9hoKYIpGQyVNCfG+Kw8OQ8/QvkQaDsgAPueUiNLCnS6w+oV5m3MwM8Zxyb4qdQtHXpjm92w9KO2kdG9/erIVCKKozmBywt+fibvffQ2aVp8yfbCLy3YSP8/XBX84NIdSTJmof1hg7yM1m1t9Ox5gYgd8MxPMs49mEHkvjFp0JmDSxrY8P+m986Ypkk7pz4q58hNOuPA0wJRYPx2LW6JJTPuHUqG4PV7Kady70atEucowv7vVHuuiAjgIJYn9yfAiA74h6Vd3WNALDblMaPA4lDLIX4PtVI=
MATOMO_IDSITE_1: AgB6uq9UdhK5BUPoxCbDrpw3nb+4Pe0CNoFQzqU5vrgDS6biodVYFCvb0Yh0UBJ6vXUw1bf3+jxdTGR937fsq0ErB4xYbdoAbXLiD82C4MoDyVNafuA+zRYnZ8jjjZS9fIleDzCMyNjoX8Kj3LIplOxznmj4WazqCNbFnGEGrqf5067srTE1jOO2at9MCS+jdUm6SsUYJDhwgCIwrRQ3Pyt31Xc3iC8TT5jhCTeJo/72qslIkKZIss7wOz4ZGUmPqI1jJU6S9ZQFjQzeEDxn3LTyHXT/aVNqFEKKF/GfWaC3BNdB9Y4ds8QIBSSeWArbc+eq+2d+v5LTaIeeJ9p3O6erKgI6798oNBiNeGwk+0PggFOJuQo0ZBzMnVSPeVkcB1paCNvelcJxnxxNyPB2nfvGol6NMBqIsegB8kkKjJmWPFS1ZfqnbDr+aLtLnhpPIvv0ffxFlVIntSpzTQdF3fMw3ab8kvOCdyGBr2ahOMzRiMb7y3Qcm2Ir4xou+vf4y2aTUGYzAtq9Y0WsuzjMT6aaqgS4vJfcBRB8FfA6kO53qgSgWFImhd0CUF9d01BzWLEhUriMoyFhOoUIv8Sp1hmTWOQEa7ZoutT3F5OR7wMc4PmK/FqfbEDOtEv26sHGBuLhcuNOaZGc7K58LVGXJGavyewLjv9kfJYCsT/WjCoVWTgwIgVldTAp1oMLvJ0U7sGkdQ==
METABASE_ACCOUNT: AgBaup22fLYBOuxvBphUN5oJB/U81OUkgBEk9ohUJOT+NZ8on0dWFkhiDpKt388HVaIB18laovxRz/jUJq+QgLvGLMi11lscg16WeojBARoz2WFRJrQzVGwe3H21z3DvXhTddd3EI1SPdW89Hr4mAytGa1YJ5Ftu/mG82oIyo3jL3lglf7lGPBcajFoCF7sdinQJk33y3P8Bz1XQVjr/o2e4FGCnwVFwv9ggAYhEyXcQ/NxnK1Np3E6V81k2NYBbJud5R2vuUvvTRf7RWh5Ui+BTUmwAX/Otwtb2k2JGcKD54Uw4akcjf1dKVW+Rl/l5G1T2s/bztbf//NG4lcT72fniOe2B6VSx7mrN+4b1FXMMH5cdsSUFx59HXSvLZCknuS78xzxFFpvhtZ8np4cYYBZtta6Bh8bw/5QHOTpPFdHUxfvgYQF3C2PXX6TxUfqqY2Kaqf01YUY2UNOQJn7YrUTpioP2PCoQHLfy2FQqHyb4QaRFFuhfBdAcu8JR+rx6SN+6bmhC/mNzUaCz++PZJ/h45kLKVBD80ZMPqefVJ231K/+2bdCjEvdQIfxrjpjdaI9/rdm8Vto7oqKXzjNTTlSRcE70yT2oLnkd1jG6YK70bj301jWSsIgoco6n6J2k2AXRXp8oa87dEVPdqfchl2hbAztj1j4U4zjBVx/OwMK6Jao+tcyV1Q6mK782C26YP2RSjO76HzBMU0tRKceivQFgd83Aqj8=
METABASE_PASSWORD: AgBkV5nlnOBygcyjprcfCCZ83+/fCZzFHXJz0LMDQEporEO1qepElzF7DdBNtqwojLzjnNXiL8EVRTfwgLhona914i5ioycJ7V99sDmTw26MEMWmJhoue0gD8ml87tTDFf11pduJ0e1dqbVg+qWT4WF0gnq46XSO59D+G6V+09L772UigIf7UgfxXo1lUZeFxZKIwfdCYqAr6OYV2bJfCE+W4xacJ2IM2FXakTXcxzIw56cqf7dboLlPGbB/W4NAEU3UswaCTCppuCb4EckSJppREM/2tiY3s27rZyTxJFMC//T+8uhEh2dGTh7jM19Gz0U6Og0M4GU93qlNB/z0zd71rI7UfnZ3dq4g4ek45vvYXmGcqInDwyrP0j0c3HrdtPf1QnT+3z+h5zN5Vj3h8XTd8Xsunwdf7jv8KN7Xb8JBf+T6Ve7vsfjVm8dy9ezSuMuUB0kYETYc9ZA5vxgatEjBLIydUeWTToOZd+tGtsbfhv1Qxjxn+XBbeTqX4hp1BQFhuNcBa1Y/W6DM8CS/h7T+aFMzs4GfW5986WR3zljizK2BPNOFEQavjcyvcwHGAAV8wSet5e/q1iEX+LiKeNd1kTmGEEuYik6/pUu32ufqO/NHf/w/LHUTs9Iv1wTCNhXCc/gxxjZZCROU2oOt1go9C0L4q9CMKyE+9Rn8/3qLEx1GKxmDzGLaqVkbYfmkc43DEsnhBap0ZY8FtH0Rshk=
template:
metadata:
annotations:
Expand Down
3 changes: 3 additions & 0 deletions api/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@ PUSH_NOTIFICATION_APN_KEY_ID=
PUSH_NOTIFICATION_APN_TEAM_ID=
MATOMO_URL=
MATOMO_IDSITE_1=
METABASE_ACCOUNT=
METABASE_SECRET=

1 change: 1 addition & 0 deletions api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"cross-env": "^7.0.3",
"data-forge": "^1.10.2",
"date-fns": "^2.30.0",
"date-fns-tz": "^1.3.7",
"dayjs": "^1.11.9",
Expand Down
4 changes: 4 additions & 0 deletions api/src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ const PUSH_NOTIFICATION_APN_TEAM_ID = process.env.PUSH_NOTIFICATION_APN_TEAM_ID;

const MATOMO_URL = process.env.MATOMO_URL;
const MATOMO_IDSITE_1 = process.env.MATOMO_IDSITE_1;
const METABASE_ACCOUNT = process.env.METABASE_ACCOUNT;
const METABASE_PASSWORD = process.env.METABASE_PASSWORD;

module.exports = {
PORT,
Expand All @@ -50,4 +52,6 @@ module.exports = {
PUSH_NOTIFICATION_APN_TEAM_ID,
MATOMO_URL,
MATOMO_IDSITE_1,
METABASE_ACCOUNT,
METABASE_PASSWORD,
};
64 changes: 64 additions & 0 deletions api/src/controllers/public.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
const express = require("express");
const { catchErrors } = require("../middlewares/errors");
const router = express.Router();
const fetch = require("node-fetch");
const { DataFrame } = require("data-forge");
const { METABASE_ACCOUNT, METABASE_PASSWORD } = require("../config");

router.get("/metabase", async (req, res) => {
try {
const questionIndex = req.query.question;
const sessionResponse = await fetch("https://metabase-ozensemble.fabrique.social.gouv.fr/api/session", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
username: METABASE_ACCOUNT,
password: METABASE_PASSWORD,
}),
});

if (!sessionResponse.ok) {
throw new Error("Failed to authenticate with Metabase");
}

const { id: session_id } = await sessionResponse.json();
const headers = { "X-Metabase-Session": session_id };

const cardResponse = await fetch("https://metabase-ozensemble.fabrique.social.gouv.fr/api/card", {
headers,
});

if (!cardResponse.ok) {
throw new Error("Failed to fetch cards from Metabase");
}

const cardData = await cardResponse.json();
const questions = cardData.filter((q) => q.public_uuid);

if (questionIndex < 0 || questionIndex >= questions.length) {
throw new Error("Invalid question index");
}

const uuid = questions[questionIndex].public_uuid;

const queryResponse = await fetch(`https://metabase-ozensemble.fabrique.social.gouv.fr/api/public/card/${uuid}/query`, {
headers,
});

if (!queryResponse.ok) {
throw new Error("Failed to fetch query result from Metabase");
}

const {
data: { rows },
} = await queryResponse.json();
const df = new DataFrame(rows);

res.status(200).json({ result: df.toJSON() });
} catch (error) {
console.error(error);
res.status(500).json({ error: "Internal Server Error" });
}
});

module.exports = router;
8 changes: 6 additions & 2 deletions api/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ app.use(logger("dev"));

app.use(Sentry.Handlers.requestHandler());

app.use(cors());

if (process.env.NODE_ENV === "production") {
app.use(cors({ credentials: true, origin: /fabrique\.social\.gouv\.fr$/ }));
} else {
app.use(cors({ credentials: true, origin: "http://localhost:3000" }));
}
// kube probe
app.get("/healthz", async (req, res) => {
res.send(`Hello World`);
Expand Down Expand Up @@ -90,6 +93,7 @@ app.use("/articles", require("./controllers/articles"));
app.use("/defis", require("./controllers/defis"));
app.use("/drinks", require("./controllers/drinksCatalog"));
app.use("/drinks-context", require("./controllers/drinksContext"));
app.use("/public", require("./controllers/public"));

app.use(errors.sendError);

Expand Down
8 changes: 5 additions & 3 deletions api/src/middlewares/versionCheck.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
const { he } = require("date-fns/locale");

const MINIMUM_MOBILE_APP_VERSION = 75;

module.exports = ({ headers: { appversion } }, res, next) => {
if (!appversion) return res.status(403).send({ ok: false, sendInApp: ["Veuillez mettre à jour votre application!"] });
if (Number(appversion) < MINIMUM_MOBILE_APP_VERSION)
module.exports = ({ headers: { appversion, appdevice } }, res, next) => {
if (appdevice && !appversion) return res.status(403).send({ ok: false, sendInApp: ["Veuillez mettre à jour votre application!"] });
if (appdevice && Number(appversion) < MINIMUM_MOBILE_APP_VERSION)
return res.status(403).send({
ok: false,
sendInApp: [
Expand Down
Loading

0 comments on commit 0e4af7d

Please sign in to comment.