From 8fbbba16eebd526950bc4ea190d90b6b6f432459 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Mon, 23 May 2022 16:06:47 +0100
Subject: [PATCH] Updating cache to 1 hour.

---
 packages/backend-core/src/cache/generic.js    |   2 +
 .../src/api/controllers/global/configs.js     | 106 +++++++++---------
 2 files changed, 53 insertions(+), 55 deletions(-)

diff --git a/packages/backend-core/src/cache/generic.js b/packages/backend-core/src/cache/generic.js
index e5446a1424..b23568f8b9 100644
--- a/packages/backend-core/src/cache/generic.js
+++ b/packages/backend-core/src/cache/generic.js
@@ -8,6 +8,8 @@ exports.CacheKeys = {
 
 exports.TTL = {
   ONE_MINUTE: 600,
+  ONE_HOUR: 3600,
+  ONE_DAY: 86400,
 }
 
 function generateTenantKey(key) {
diff --git a/packages/worker/src/api/controllers/global/configs.js b/packages/worker/src/api/controllers/global/configs.js
index 4dfef1f8f5..147c5296ce 100644
--- a/packages/worker/src/api/controllers/global/configs.js
+++ b/packages/worker/src/api/controllers/global/configs.js
@@ -256,62 +256,58 @@ exports.configChecklist = async function (ctx) {
   const tenantId = getTenantId()
 
   try {
-    ctx.body = await withCache(
-      CacheKeys.CHECKLIST,
-      TTL.ONE_MINUTE,
-      async () => {
-        let apps = []
-        if (!env.MULTI_TENANCY || tenantId) {
-          // Apps exist
-          apps = await getAllApps({ idsOnly: true, efficient: true })
-        }
-
-        // They have set up SMTP
-        const smtpConfig = await getScopedFullConfig(db, {
-          type: Configs.SMTP,
-        })
-
-        // They have set up Google Auth
-        const googleConfig = await getScopedFullConfig(db, {
-          type: Configs.GOOGLE,
-        })
-
-        // They have set up OIDC
-        const oidcConfig = await getScopedFullConfig(db, {
-          type: Configs.OIDC,
-        })
-
-        // They have set up an global user
-        const users = await db.allDocs(
-          getGlobalUserParams(null, {
-            include_docs: true,
-            limit: 1,
-          })
-        )
-        return {
-          apps: {
-            checked: apps.length > 0,
-            label: "Create your first app",
-            link: "/builder/portal/apps",
-          },
-          smtp: {
-            checked: !!smtpConfig,
-            label: "Set up email",
-            link: "/builder/portal/manage/email",
-          },
-          adminUser: {
-            checked: users && users.rows.length >= 1,
-            label: "Create your first user",
-            link: "/builder/portal/manage/users",
-          },
-          sso: {
-            checked: !!googleConfig || !!oidcConfig,
-            label: "Set up single sign-on",
-            link: "/builder/portal/manage/auth",
-          },
-        }
+    ctx.body = await withCache(CacheKeys.CHECKLIST, TTL.ONE_HOUR, async () => {
+      let apps = []
+      if (!env.MULTI_TENANCY || tenantId) {
+        // Apps exist
+        apps = await getAllApps({ idsOnly: true, efficient: true })
       }
-    )
+
+      // They have set up SMTP
+      const smtpConfig = await getScopedFullConfig(db, {
+        type: Configs.SMTP,
+      })
+
+      // They have set up Google Auth
+      const googleConfig = await getScopedFullConfig(db, {
+        type: Configs.GOOGLE,
+      })
+
+      // They have set up OIDC
+      const oidcConfig = await getScopedFullConfig(db, {
+        type: Configs.OIDC,
+      })
+
+      // They have set up an global user
+      const users = await db.allDocs(
+        getGlobalUserParams(null, {
+          include_docs: true,
+          limit: 1,
+        })
+      )
+      return {
+        apps: {
+          checked: apps.length > 0,
+          label: "Create your first app",
+          link: "/builder/portal/apps",
+        },
+        smtp: {
+          checked: !!smtpConfig,
+          label: "Set up email",
+          link: "/builder/portal/manage/email",
+        },
+        adminUser: {
+          checked: users && users.rows.length >= 1,
+          label: "Create your first user",
+          link: "/builder/portal/manage/users",
+        },
+        sso: {
+          checked: !!googleConfig || !!oidcConfig,
+          label: "Set up single sign-on",
+          link: "/builder/portal/manage/auth",
+        },
+      }
+    })
   } catch (err) {
     ctx.throw(err.status, err)
   }