Skip to content

Commit 94a6b8f

Browse files
vincangerMartinsos
andauthored
Upgrade v0.14 (#232)
* Create schema.prisma * update admin pages * update app_diff * Update e2e-tests.yml * update docs & rename hook * Update schema.prisma * update app_diff * add discord auth and app_diff * update docs * Update template/app/src/auth/userSignupFields.ts Co-authored-by: Martin Šošić <[email protected]> * move landing page * update .env.vault * Update e2e-tests.yml --------- Co-authored-by: Martin Šošić <[email protected]>
1 parent f52bc42 commit 94a6b8f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+956
-953
lines changed

.github/workflows/e2e-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
env:
1212
WASP_TELEMETRY_DISABLE: 1
13-
WASP_VERSION: 0.13.2
13+
WASP_VERSION: 0.14.0-rc2
1414

1515
jobs:
1616
test:

opensaas-sh/app_diff/.env.vault.diff

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@
77
+#/--------------------------------------------------/
88
+
99
+# development
10-
+DOTENV_VAULT_DEVELOPMENT="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"
11-
+DOTENV_VAULT_DEVELOPMENT_VERSION=6
10+
+DOTENV_VAULT_DEVELOPMENT="LRhsNRwq6Qon4HWC4lzj4HI5161/euxRXqmX9H+dbd+Jy3tIexKrBUmXWisR7ib8YA4fGC3pgwWVcH70F/pdrHXCMTAvqwAp0+cc4Ov8x6q/R1Jsnqf3AC/3nuBs9Iw2K53iZQKZSNA6ey3uwXLF1qHnxBjodiDf6zRwU7wbWLQ5nUtKeRrggToRje/G4K6Rgk37S44TLTZrS2HbcfwIev0cnwwlldFaV/TJ0BuxslvmlpWXbD5jkagQ324bLNJmWwudcABrEofH9mSUCicDWfN/I8OlENxPf6Q9auqzhy1YBR2vjxT59Yt2I5WLaftXBJos0QNj1+ZUEx42YCBxm/SfZV7PM6IIHmjZCbHCTfQMsZOicbOzp3tn8bIGvOuJLJv6trriTygSn2SAiAmQlrsBlMJBt5JlKHWR3IkQXqP0VaS+B02CBCMgP3Vv3Cw9sUM5DbH+hc2BC34b6WwD+7kkfgflylrqiJS9sSZN2knbhTRYD6IWAd6XQnKtGHG27kG7pljU8weFylf9Jb+xsR+AWIXCqwrVRT9SB90ONkH250icjDTbHXVPpKHkRjXMS6yj+LbsoTIvLvnJThKx6skReVvlXJXawIWqK2MH4OQGrIcir8i7FjxtwF33hNIfQ8XRvGe7QMvZQg2vfR4HBVbwSpbF+EAqa0zuvZkYmY/HxXKePcIRwXHah3kMPyNyAzbAswXhVwZCFjZBqjVXsoiOopWqMtpS+S4fBlun7awelj6piM/EkKOPgJbKqRl/Otsw3dyqxz1q1JtNtu85B9xSPRyYFVUsKS10sIz6FXWocCLplPbXpaSyt74GR1CA9iXTlm2WqqAQyI+iMs8T22EitYsZXdsZsRrYA+ovG933a5jtk52exsA4P0FiTRFDArjNnpTSW5hs15MiXEinx5/xvonOLwWZBS8C38GsVQ57miKkCl/9ugBSZLAJjvWXZC1XakUlonJFAeJuVvnniHX2qwcsnxrkwSExeFHvNQJiFNF78/oXzkmZ8KRWE0BebB39U2kmEX62F2Np2EU8r7XSqMpQ0L9lQ9HR1UiOuFCvcZji3XTBHq4jcntF2Z7WcXfePtqRGrVO6ARqcdu3fL+JQtx5XHgbvJuMDHQ8VE388+KgkzZtK5WX0DZOhjnQ8zHNYAxn1v57YMmbg76lXQXDeVObtnU2GVslzlezMvJqWdhYWK4CKyrzknIYCzwd5hoX8aDMlaUaba2ossWzpvy64zjijFqIvbbbJnCUAdKv3xWqbYO1Z/pU1UOijsqqlY2A+BTVYjFBfZsKFjCJn/ERtce3nDVstjocx2s1qz8CnYP+bUL5EvmY5craaWsulPetCvb7K5uIguhOLx1qEk7I0tdbl8mtTTpt213E4Gv5nLCP2T5nLrcj8TwL3ZDUpqOIxgLECuRkxRmMO/lckJFOnX52RNhuPbpCojHKzrYxaob4Ym5chmw7G8wOTF2CZjtkxS+P1Acnod+QDeGfer4XWScunbJbK2tNKlS5mRLNAUhxeOO3osYCIJ4LOs746QAFGIuJYIptzCpgykqkcso4FogAN+MwzBu8a55dkhai6KJhZ2xgxdAxiTBMPHpCzaelcW3o00RgMYe6qldXQGFlOVdwgL2Tqi7gNRixEhoknErOJTZp1bO0qQz4UMXylX2uuW4zhUuaTxTGmJbow9AEepkQcW1Us17wfP9mpnX+yyZ56A1U2gh6i27pAufmHLDWfcG7O+BIRrUimDSVS6aJr7pfUpF2+/k09NrW37SD1maKfUx/22jR/LNf/eI6S9AsD+/lBobhnskT9aNeeA0JloEi3Y/2k1073S036Nt4sFfDVnGpWvFi2mMzwKyIxqBo8+WS0qDCsehJF6GqrRbdB7xgrP+JTZUu4senevmPaVU5jbZYiJ5mi99p5BnNzsbBljh483kSR785D3Ok8n54+AQlqf4oZRLiwBv4VzGLyw/j500L9u3yEDtxp3uQOz4RxMRPExu6sU+WVMAcVkfnrdkJvvdwR8dklMnufHeQcX6qqH7LxnY1I5n2rKrPn7/1d7Qq7P0824f2ViML7VS2Tqg3Dc4fYOnpUdR5k9MGXBm8gdfw3tgfcaXg5QgBnxe6z1ZC0149vCqio8Xm8yyjXRr0YvMqc31FgZyG4q7DnMDJ+aimQlnUDY3Hn29eS71iag8f2ccQ/VDo9A=="
11+
+DOTENV_VAULT_DEVELOPMENT_VERSION=8
1212
+
1313
+# ci
14-
+DOTENV_VAULT_CI="uIKC5RKdFeJiCAzoQ9e2oaT2EbR8usJcZIYlSoFl3HTFrh7J/qfo+Z+OqBgJKQllvCVIK4oQUsLICVWCRs+7yWp5j6gn2yu67lN4lKAfX0QCF/VFYNWa6u1NWZGT1bPRlvNIY7z/YnJZfgaq8Uj+mSU+C14KHMMCpKCSkbqqFX8AWlcPSkbjXaJP4IL3HxzPUGTMfq/+XbokI9r1UjBNYi1yus6jGjI4U2OtiDc61LZJ6Y0tsBeA8NA0iT2S+lwTJBjTmGHoMMjtK08Iw8GAXv9eejETvbHZfFTOpphIjeFXjFRUsgRfuPP3p/lErfncXofQ++9KNS5lhxINGBXQIKh2CRnjhajut38Xxr848YNAj4Ie4RKzeU1+aC6BXONhbD7qZQJmm63vtwTKwrUf8ML7T27DwdpV7dTdz5/W3UWnmbzhfI1pLeCHpBC1FrLBaxhFNFlkqsXiopen4iJf4ihWICn1hMCBGGRosKQJdj+y65FJMwraBbEVHa29FHYruhAPGFqGfEIWvQ++LXlPguJM/RL2txMoVppDanOwFCM3dMO3sF55BEuSSNJWX2s72ZDgTW4/Il7YiIBwwxChPs5vOQweYKqOd21HCl4t+ocu95ja3ZGROnhff72j2pCk7cahaVl/PS8WU7nZ1JQtkv5vNRR3nHgAH1nS9tSBDJ8twKEQ4bJcu2qdhGeQwenKRsV4nrKooGnQ8UlsvoTyozYYCseds2/iXX5vlc/lhL1fgcPPxoss2p+lDaS3AIIEMq0/TUCeRF2ImYUIMnnvCEb0T32Pz8bIfPblSThETdQ5A7ZRjyU9T9Ff6lpxqQwGUWO/ElKZ/CDsoeuj1UqOVLGRBwThrOHlU7LZ6kJnBvcy6AmWccE5fLsmf1l189FwMH6CimHIg2OC4ndCbiRKiP3+3OYHL0JSkTt8Lrsu/b+Mu0Kmiks1A16Sx2Lu1lUfPSsbAgYRYni7OkpgCOJ5DdnP607LTFVIichq4+KzQsc="
15-
+DOTENV_VAULT_CI_VERSION=4
14+
+DOTENV_VAULT_CI="sCTQ2ley6wx0rNsobpsTS2tN8aaMRg/3U9e7nQ8tMiCeRkEudHd4kchWXL5ya4b9eStIOuHDixdye2lnlucTc4t4cIaHg2oQE0oKuqB9U+UtBntYIyphqtXdkIuDVpJ2FRlG7ED9XhSB4XbbkBC07OqkgRJzcWaTARouCbVn8FBbyFVM9+huvR9o1xvSTATqH9F1VoiucdXuyy7ug65cFLYpm6HkKCusjnyu+xAQxOo3iLJSfjew4qigxscT2w1ciXUFn+t71qdyuGc1PI7GfXu6L6BWijJGT9bEgRJC+0CsGo3zOB3bBBdB3SuBcSekXrwyqKzymQ3OLAfWecTScBFpHyXfl5i0UgSsnQMzYn3ua000xcEor6//rZdWumI48BBNg0mzeF5zn4H8igsuKCc1e9n+PUBsH72rbEFkYOAAwhgs8JEIZ8qHF1LxZwKyOrN9Dis2Drj5+aCWpmTu1JlX8fcyP43+hsMe9cxQvtFsfA+nTaOIIt/IuPO5taNv2jW0vGsnyoahpFB0FyZOxEuPgSWrUJkrxgXMz7FwO/iLWtL4QImifAicuWgCjgMTBg+TP2sT5ekzRqjTARKVnkApi/LpL4nija6sIfqLxqtNLlAc5vuzHbkGGq+aR9l9IGeEmC/TPi0e9JCfu+oVC0m6du9nL72kOjAAqhAW0GWrBg1yffD27+xF9MJjddRtkBRBkPXGl1x79S6dURVwkspRK94VcuKCf7VY/9XcP74z9eYGhiduIzRpPLtXxWPSYi4+j6e3qzHPhdLQi+MpS8R1bkhUPpXG78a6l4qxELftctY8Njn2kJz5SRfYxaEoDBSx9Q8H7qXR/4mYBBG4q2Oc0vGuucrW8QyX6PaUXNM+irIYCK/QE3/Z5fEletW7KxV7rdf+pFSXuGyswQqkPH1kAruRyoMTMgH++//BNkwHeJn1Sq42R7hzF+jRmblC9e/e3StkP/4xN9dmjQ1xcJOg89GYNKxwwKBhX2O7bkfUBJI0tUe9aJLwkK1xHjxmSmy5d58dENzePtTSaoCCqDkvLuyOxxa8tEb23XAY"
15+
+DOTENV_VAULT_CI_VERSION=5
1616
+
1717
+# staging
18-
+DOTENV_VAULT_STAGING="AYBNNrkUH2ZyFdg6vgjrUZ/KO98JEhP7+8mam67KujGAv0EXs7yRT5eLG21sa/2mE5dHaZML5f59wUZY4E88pWetEaeR6cXk3fl4OslEyFq/EOTMjd0yaY/I19337prDAM9JBL1NgUaIuy9VICukOw39fu3LW2oovt3w/jEPE9oky4NSD5+TOgS8LuzvcUrFDACIs7Ywiquwy7wUYMoa7JFrNVT50wCSoELDBUHhGaIg6uffZ/hafvSXy58OW5bZvHxjOme+Qx9TERQPd/XMFiFFX2xvFTK+O6xjsGp6Q7C/Ri3fmZq0x87PGovUuYeqfGURmYBFt/XwVhmX0txTPmswMMxZQn9Iom7sOpHMsF9vtXZuue+Xf3WKhgYi+0DeB45o3jf7x0ljlNG8L2KIlKHZOY4d6cWBFmANCZeGxYpswKPd1tYgjk4FRXlpTDXnmu9rmb4ZzsIJWJ/KlyecXmcgimtZTNnGBwTs7dAKt2XwPPwGQbCsGy3dbljlnTgNREijmAjE+4jtrmoQALIaGSp5dHoI2o1gZ9oWep9qF0EgwqOWznz1Z8DIj2xtq+x1sefVmkfhi7KoVNDUE1gERY+5wuPMPzLaqJOUmzqNk4pgBr1l3jDk5Fj+9bOmDgkTu2Tm/IuVs4VCJF0gPCQstNMomhSpF5XCTxQJyjsBFF7+G3/Yq2AP8rtGio+thKOYrZRPYzqPCk3k7HCm8FnWZkX/GuiyL6SJYRfXbBojTXFy1vfpQySollD2kItS+ZXE9FjLqdErLqz5CVcWK7QFnbN57+jvhH2+WKzMOKG0V3Ul3cVfMA732iK7ySnyPbkaCvT2x+jyw6yCFbzP5MyfSSRHk2G3lgdViEszIpSzuNzxGgcybGWFrqWtbVTv/P8/aAMLuIgkE0Ec139GIEaTxryOb+RU8f8lTh9dQNby2+V+Iebh1S7K1EwOj27t7hvysM8X5XaOB0J0SOK+5XZooxNyJBOdArKPn/x3Ql5HxVo="
19-
+DOTENV_VAULT_STAGING_VERSION=4
18+
+DOTENV_VAULT_STAGING="jjDTQ53mmWE6kp11sR82vF9lsPNWaWteMBL3HzKC4uM16cvWzCjukaDZ++sR1/IwkEI+NYDwXoE0wTKxTA3YOQq5WcV2FdBq+DeBiJOJnVh5ghqxSukEf4tXRYIliCZ8/+caFLU7/tlrVwGkwXgjyjF3B0wgueiOMOlmIuyanXVgChEz/G2wlgzupQVtRWWmNClVMK5otcW6pbaX+ASrI2VqNVsVJm1LohdvFhUzCmGgVGjQNd6Stnjqchh9q9g2qAqDexbXGITBd9rPvz1pGduqoukxIpEe5TG7U/Zxg7ZrP8zTZ7jei8w8vA7rJ5EA/NKSgLcqvLmeu441y0OvgbnTykODbz0GVZve3PWzHGGsJDo+CWXmE5kKt0mdDOj2XCgNMGsjdHRP9GzCroQZ5QLGMFAwHqd5LnmwRZxJkmfxrMNxeIHBg9LIQ0FzxXHn9f5RvFuwhe+3nAfQo79Um/D459bd7MeZ9+F1vb++IhsSMoIq6Rcv1qMIgXv5SK8a1WrAdmVj6+3WPr+rdEijYmwLvXuI6Ad/HQCzZJkhzCvnE0lZ3XuqR/GDOCaqnMxqQjapW5HP0PXmHyUqSK/Ravl8Grb+2Z8ywULxoqbhxmK7ej8k4Vfn7sa65aVMYmj3CZIzkbsE0IdrIm84Frwmadzp8i5KxM9o4HC3ntRuKc6S9gTVT8OxUkyGu96w4qpVVAE7iL38VkAw0CIDZvcK1VtBcu4JeFRa0ZjXznUxLr2S4HsDwGtMBlkX8Q96rwh/IIusis51xl50xO6lg3uP8QwzrLLKFtHhinTHfvVIePeSm2usJxUXIvrvNekfcCebPsGdllY7t12eAbZ0RLk83loT0UsPAHUMDmdZT2eARLz7nta1lKm+PscuJIn/QxKF1K+zoJw0IL3nZL+c0iXSxZhaBHBwao5nI3CaysWr8xCohUQP/GuGE8xsivXw2DwWr4wmAmtCcT1thZtG2iOSuHQV00hlGyrghyVys/3zpR4m3qdtu5a7qxvwEpr584g7smFEySFERPBwSbfxw1dLBUj2VcNrXpR0RTG9fmye"
19+
+DOTENV_VAULT_STAGING_VERSION=5
2020
+
2121
+# production
22-
+DOTENV_VAULT_PRODUCTION="TepwfKk5dn/58biHM4NYALQtxgEAvSiLNKixJWONfgfIQ5UxyalX5xEKFQb/lK0bX++6HN6dEjXm4cvUSKMRZVzWn3l2ufge6Bzr3JqgM+i0ZV8XhVp6NdVFDqzJCNDLFN6zcL16ABu1SGtF83JinNooP28/sK78DeQDQpisa3oMDVitJ6uqdxKU+ysEWasXLbsj2reTOH/lbVOh2Tp266Qh449o7K6gyaLwo75Al7pACovB32LgYzSdphvhehMWmpcXrdswPBwAPL4RLUkDTCQDknHz++772hU2CjOb55BEda7fWm64bi4MqQkJdBPjiPAOOCEbdzW8HvUvCJwRM47nuU+AwoJgNdE0oSm3rGHmfXCKL/ZdE7m4zUGgYhuAMBffJNyI+qYwzOe0IBsZhdqBce6FYDIovV4qGnn3jAy6WGaAlu+u6mXMNTa+KYWWsmNXlXq37Vg5EAylpUT6uhzSSLypHKgZ5XgCLrWv9FA2tCdzL8cNrQpVrkuwfpJdAU8OvHH/mL7cGLnrqtjvYTM/nN5ecPVYJS5sxVBKomQlD2OVhC0eJL2+YfqCmhoFXzeam+Fn/suCba0GfGBYuG8KiSon18OEHjuqOtC23NYqfYcEiI4G05o9Hb8/ruDuQ/vS4YSBwJJb0Z2dYWg4J729HMkBj2Q5FYFTX7PgtfhtbfSxvHvknjkdENHkkvb3Z6ZM9fJGAapagfksCyFmpFZnBFZiKhMjWXSjQyHqclqp16KlAYuQor1zgc8rjrxN40X1JbKGDTVxNgE4WPhd7DBq6D1CgauuGgQcXjaoDQg2ln/Lt3doMkZPw2Pesz2CzQSEC9WFUnvsU1tc/1BBL8ItrspyU7Q6frKH1ZE2yWgTnMXJBQCP0hkgezwTDEm0EZ3mZfJk9H4s3qFVL+rcN1jwSP2Gg0JRL7ML3Teap0UG8yhDzG5RrN5CqpBrZ0z3GZMC+6mBKK/Zx55H0bupjhxiEsspkhdt06OfC0MKxWI="
23-
+DOTENV_VAULT_PRODUCTION_VERSION=4
22+
+DOTENV_VAULT_PRODUCTION="4LK0FEvptGga6hjj5y9Qh9RDQPj91hOLddcCxKemVjZamQUo2yrzzNYQvO0n4eASjGUHwruB8oggS5zJ5WS1mBlRv9QKuPnkQbBfYIHVEsWNM6uxIaBkbJPu/+fn5joHVujOMGcUninLV1vY6x7z4KieMlSiJ503rmoaGqCnctOp7QIm0SyCFFG7IzXWZz2X4Bs5d1DADV2GXo1VXB85qPjee579RdbqYPb/TU2DX1YFvGFztkugYvEBEHNb7OB42iz2EIUb7Oavc7IQ1YzeOF2lJz8jzWTqFYfws9qkgzXjSGr6iTrgXs4YgtcE6fp6zGd9QNLzZWeV5ORUrnqEuQcoV6/c/BdYR+TPeiMy+W2YcLvMHPcJDoLNYKIvO1C766CMwfohWzuTHYlrjKFwlkQka1CpyyFg/vpGrFu//djXDk6D2OLSjtTm/pZPdXhxNV81A+wp/GIzAViiUn65GXaKWM4hGs7OJXhheNl9Kg+DQ7p7lyV+UYJAyNHkPBexNxCsVphgb8Rgg2BhZXBzAnAQSwZt5+oOan5YKj8DxYLYEvuZlGI7mpbiwqDIa2taRFYTzejvtw/1wrSw3943nR8NBx6vsE9JD0AGGeFCkFwY07wmhETYrlKbXYc/XKp/77lUz0/zgLXdu55gwXHfHXaGHAWwhuDeUpdnDr9Syjd5lHzUAtQNNMg6IOrEhf9Nokp4aHcb6oOJmw/5hh+9tgaBk+jvGYGvsok1OXnpgAXuKL10C9zN3rR4/0tzZc1xqIe84ylevrhdkLekvxbbmOsymecMDIuSGhVYp9slvGbhRKtoPVwaujk/ds0YIUirp4pK83MVtdppg4O1iOspmXYPOLxp29LWVMany9PyqlkiFs2vPCJ8OgVp8DeZ0vVnC6Q6FLWHNEfSHPo/pd8w/JetZl//5V+pfKMDcKBUntzcUUqfHuLuE+8JUS1zob6IQ2P4GSLqOs/tE1Gfl3e3MKGFVDBx5faDcNyuQCuRRgXbUc3bk95rQZ7vDPWHJsyE/WH7ptPvK4ytyrxOaf/noEo/LAR8B16X0wpz4LW9"
23+
+DOTENV_VAULT_PRODUCTION_VERSION=5
2424
+
2525
+#/----------------settings/metadata-----------------/
2626
+DOTENV_VAULT="vlt_47e3eeb0730e831e688049600e59f8975260a1f00302ae08684ed87ba67872d0"

opensaas-sh/app_diff/main.wasp.diff

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
--- template/app/main.wasp
22
+++ opensaas-sh/app/main.wasp
33
@@ -3,24 +3,24 @@
4-
version: "^0.13.2"
4+
version: "^0.14.0"
55
},
66

77
- title: "My Open SaaS App",
@@ -45,7 +45,7 @@
4545
},
4646
emailVerification: {
4747
clientRoute: EmailVerificationRoute,
48-
@@ -44,16 +44,14 @@
48+
@@ -44,21 +44,18 @@
4949
},
5050
userSignupFields: import { getEmailUserFields } from "@src/auth/userSignupFields",
5151
},
@@ -59,6 +59,11 @@
5959
- // userSignupFields: import { getGitHubUserFields } from "@src/auth/userSignupFields",
6060
- // configFn: import { getGitHubAuthConfig } from "@src/auth/userSignupFields",
6161
- // },
62+
- // Uncomment to enable Discord Auth (check https://wasp-lang.dev/docs/auth/social-auth/discord for setup instructions):
63+
- // discord: {
64+
- // userSignupFields: import { getDiscordUserFields } from "@src/auth/userSignupFields",
65+
- // configFn: import { getDiscordAuthConfig } from "@src/auth/userSignupFields"
66+
- // }
6267
+ google: {
6368
+ userSignupFields: import { getGoogleUserFields } from "@src/auth/userSignupFields",
6469
+ configFn: import { getGoogleAuthConfig } from "@src/auth/userSignupFields",
@@ -67,10 +72,14 @@
6772
+ userSignupFields: import { getGitHubUserFields } from "@src/auth/userSignupFields",
6873
+ configFn: import { getGitHubAuthConfig } from "@src/auth/userSignupFields",
6974
+ },
75+
+ discord: {
76+
+ userSignupFields: import { getDiscordUserFields } from "@src/auth/userSignupFields",
77+
+ configFn: import { getDiscordAuthConfig } from "@src/auth/userSignupFields"
78+
+ }
7079
},
80+
onAfterSignup: import { onAfterSignup } from "@src/auth/hooks",
7181
onAuthFailedRedirectTo: "/login",
72-
onAuthSucceededRedirectTo: "/demo-app",
73-
@@ -76,11 +74,11 @@
82+
@@ -81,11 +78,11 @@
7483
// NOTE: "Dummy" provider is just for local development purposes.
7584
// Make sure to check the server logs for the email confirmation url (it will not be sent to an address)!
7685
// Once you are ready for production, switch to e.g. "SendGrid" or "Mailgun" providers. Check out https://docs.opensaas.sh/guides/email-sending/ .
@@ -84,15 +93,3 @@
8493
},
8594
},
8695
}
87-
@@ -125,7 +123,10 @@
88-
email String? @unique
89-
username String? @unique
90-
lastActiveTimestamp DateTime @default(now())
91-
- isAdmin Boolean @default(false)
92-
+ isAdmin Boolean @default(true)
93-
+ // isMockUser is an extra property for the demo app ensuring that all users can access
94-
+ // the admin dashboard but won't be able to see the other users' data, only mock user data.
95-
+ isMockUser Boolean @default(false)
96-
97-
stripeId String? @unique
98-
checkoutSessionId String?
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
--- template/app/migrations/20240715142249_version_14/migration.sql
2+
+++ opensaas-sh/app/migrations/20240715142249_version_14/migration.sql
3+
@@ -0,0 +1,16 @@
4+
+/*
5+
+ Warnings:
6+
+
7+
+ - You are about to drop the column `sendEmail` on the `User` table. All the data in the column will be lost.
8+
+ - You are about to drop the column `subscriptionTier` on the `User` table. All the data in the column will be lost.
9+
+ - A unique constraint covering the columns `[stripeId]` on the table `User` will be added. If there are existing duplicate values, this will fail.
10+
+
11+
+*/
12+
+-- AlterTable
13+
+ALTER TABLE "User" DROP COLUMN "sendEmail",
14+
+DROP COLUMN "subscriptionTier",
15+
+ADD COLUMN "sendNewsletter" BOOLEAN NOT NULL DEFAULT false,
16+
+ADD COLUMN "subscriptionPlan" TEXT;
17+
+
18+
+-- CreateIndex
19+
+CREATE UNIQUE INDEX "User_stripeId_key" ON "User"("stripeId");
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--- template/app/schema.prisma
2+
+++ opensaas-sh/app/schema.prisma
3+
@@ -14,7 +14,10 @@
4+
email String? @unique
5+
username String? @unique
6+
lastActiveTimestamp DateTime @default(now())
7+
- isAdmin Boolean @default(false)
8+
+ isAdmin Boolean @default(true)
9+
+ // isMockUser is an extra property for the demo app ensuring that all users can access
10+
+ // the admin dashboard but won't be able to see the other users' data, only mock user data.
11+
+ isMockUser Boolean @default(false)
12+
13+
stripeId String? @unique
14+
checkoutSessionId String?

opensaas-sh/app_diff/src/admin/dashboards/analytics/AnalyticsDashboardPage.tsx.diff

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
--- template/app/src/admin/dashboards/analytics/AnalyticsDashboardPage.tsx
22
+++ opensaas-sh/app/src/admin/dashboards/analytics/AnalyticsDashboardPage.tsx
3-
@@ -1,4 +1,5 @@
4-
import { type User } from 'wasp/entities';
3+
@@ -1,4 +1,6 @@
4+
+import { Link } from "wasp/client/router";
5+
import { type AuthUser } from 'wasp/auth';
56
+import { useState, useEffect } from 'react';
67
import { useQuery, getDailyStats } from 'wasp/client/operations';
78
import TotalSignupsCard from './TotalSignupsCard';
89
import TotalPageViewsCard from './TotalPageViewsCard';
9-
@@ -10,6 +11,7 @@
10-
import { useHistory } from 'react-router-dom';
10+
@@ -10,12 +12,45 @@
11+
import { useRedirectHomeUnlessUserIsAdmin } from '../../useRedirectHomeUnlessUserIsAdmin'
1112

12-
const Dashboard = ({ user }: { user: User }) => {
13+
const Dashboard = ({ user }: { user: AuthUser }) => {
1314
+ const [isDemoInfoVisible, setIsDemoInfoVisible] = useState(false);
14-
const history = useHistory();
15-
if (!user.isAdmin) {
16-
history.push('/');
17-
@@ -17,8 +19,40 @@
15+
useRedirectHomeUnlessUserIsAdmin({ user })
1816

1917
const { data: stats, isLoading, error } = useQuery(getDailyStats);
2018

@@ -40,7 +38,7 @@
4038
+ };
4139
+
4240
return (
43-
<DefaultLayout>
41+
<DefaultLayout user={user}>
4442
+ {/* Floating Demo Announcement */}
4543
+ {isDemoInfoVisible && (
4644
+ <div className='fixed z-999 bottom-0 mb-2 left-1/2 -translate-x-1/2 lg:mb-4 bg-gray-700 rounded-full px-3.5 py-2 text-sm text-white duration-300 ease-in-out hover:bg-gray-800 focus-visible:outline focus-visible:outline-2 focus-visible:outline-indigo-600'>
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
--- template/app/src/admin/dashboards/users/UsersDashboardPage.tsx
2+
+++ opensaas-sh/app/src/admin/dashboards/users/UsersDashboardPage.tsx
3+
@@ -1,14 +1,50 @@
4+
import { type AuthUser } from 'wasp/auth';
5+
+import { useState, useEffect } from 'react';
6+
import UsersTable from './UsersTable';
7+
import Breadcrumb from '../../layout/Breadcrumb';
8+
import DefaultLayout from '../../layout/DefaultLayout';
9+
import { useRedirectHomeUnlessUserIsAdmin } from '../../useRedirectHomeUnlessUserIsAdmin';
10+
11+
const Users = ({ user }: { user: AuthUser }) => {
12+
- useRedirectHomeUnlessUserIsAdmin({user})
13+
+ const [isDemoInfoVisible, setIsDemoInfoVisible] = useState(false);
14+
+ useRedirectHomeUnlessUserIsAdmin({user});
15+
+
16+
+ useEffect(() => {
17+
+ try {
18+
+ if (localStorage.getItem('isDemoInfoVisible') === 'false') {
19+
+ // do nothing
20+
+ } else {
21+
+ setIsDemoInfoVisible(true);
22+
+ }
23+
+ } catch (error) {
24+
+ console.error(error);
25+
+ }
26+
+ }, []);
27+
+
28+
+ const handleDemoInfoClose = () => {
29+
+ try {
30+
+ localStorage.setItem('isDemoInfoVisible', 'false');
31+
+ setIsDemoInfoVisible(false);
32+
+ } catch (error) {
33+
+ console.error(error);
34+
+ }
35+
+ };
36+
37+
return (
38+
<DefaultLayout user={user}>
39+
+ {/* Floating Demo Announcement */}
40+
+ {isDemoInfoVisible && (
41+
+ <div className='fixed z-999 bottom-0 mb-2 left-1/2 -translate-x-1/2 lg:mb-4 bg-gray-700 rounded-full px-3.5 py-2 text-sm text-white duration-300 ease-in-out hover:bg-gray-800 focus-visible:outline focus-visible:outline-2 focus-visible:outline-indigo-600'>
42+
+ <div className='px-4 flex flex-row gap-2 items-center my-1'>
43+
+ <span className='text-gray-100'>
44+
+ You are viewing mock user data only ;)
45+
+ </span>
46+
+ <button className=' pl-2.5 text-gray-400 text-xl font-bold' onClick={() => handleDemoInfoClose()}>
47+
+ X
48+
+ </button>
49+
+ </div>
50+
+ </div>
51+
+ )}
52+
<Breadcrumb pageName='Users' />
53+
<div className='flex flex-col gap-10'>
54+
<UsersTable />

0 commit comments

Comments
 (0)