Sidecar Logo

index.ts

Configuration

/**
 * Sidecar Config for index.ts
 */
module.exports = {
  title: "index.ts",
  description: "Auto-generated draft",
};

Route Flow Map

--- title: "Route Flow: ssutil/src/index.ts" --- flowchart TD title["Route Flow: ssutil/src/index.ts"] style title fill:none,stroke:none,color:#B4976A,font-size:18px subgraph USE ["USE"] hono_use__["USE *"] style hono_use__ fill:#5E377B,color:#fff,stroke:#B4976A hono_use__["USE *"] style hono_use__ fill:#5E377B,color:#fff,stroke:#B4976A hono_use__dolater_v1__["USE /dolater/v1/*"] style hono_use__dolater_v1__ fill:#5E377B,color:#fff,stroke:#B4976A hono_use__slack_v1__["USE /slack/v1/*"] style hono_use__slack_v1__ fill:#5E377B,color:#fff,stroke:#B4976A hono_use__email_v1__["USE /email/v1/*"] style hono_use__email_v1__ fill:#5E377B,color:#fff,stroke:#B4976A end subgraph GET ["GET"] hono_get__platform_webflow_js["GET /platform-webflow.js"] style hono_get__platform_webflow_js fill:#5E377B,color:#fff,stroke:#B4976A hono_get__canonclient_js["GET /canonclient.js"] style hono_get__canonclient_js fill:#5E377B,color:#fff,stroke:#B4976A hono_get__domain_to_id["GET /domain-to-id"] style hono_get__domain_to_id fill:#5E377B,color:#fff,stroke:#B4976A end subgraph ROUTE ["ROUTE"] hono_route__canon_v1["ROUTE /canon/v1"] style hono_route__canon_v1 fill:#5E377B,color:#fff,stroke:#B4976A hono_route__dolater_v1["ROUTE /dolater/v1"] style hono_route__dolater_v1 fill:#5E377B,color:#fff,stroke:#B4976A hono_route__slack_v1["ROUTE /slack/v1"] style hono_route__slack_v1 fill:#5E377B,color:#fff,stroke:#B4976A hono_route__email_v1["ROUTE /email/v1"] style hono_route__email_v1 fill:#5E377B,color:#fff,stroke:#B4976A end subgraph ALL ["ALL"] hono_all__platformscrape["ALL /platformscrape"] style hono_all__platformscrape fill:#5E377B,color:#fff,stroke:#B4976A end linkStyle default stroke:#c2a35d,stroke-width:2px,color:#fff classDef default color:#fff

AST Code Structure

--- title: "AST Structure: ssutil/src/index.ts" --- graph TD n0["SF"] n1["ID"] n0 --> n1 n3["Hono"] n1 --> n3 n3 --> n2 style n3 stroke-dasharray:5,stroke:#B4976A n2["hono"] style n2 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n4["ID"] n0 --> n4 n6["cors"] n4 --> n6 n6 --> n5 style n6 stroke-dasharray:5,stroke:#B4976A n5["hono/cors"] style n5 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n7["ID"] n0 --> n7 n9["protectAdminRoutes"] n7 --> n9 n9 --> n8 style n9 stroke-dasharray:5,stroke:#B4976A n8["./middleware/guard"] style n8 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n10["ID"] n0 --> n10 n12["encryptToken"] n10 --> n12 n12 --> n11 style n12 stroke-dasharray:5,stroke:#B4976A n13["inspectToken"] n10 --> n13 n13 --> n11 style n13 stroke-dasharray:5,stroke:#B4976A n11["./utils/crypto.js"] style n11 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n14["ID"] n0 --> n14 n16["adminAuthMiddleware"] n14 --> n16 n16 --> n15 style n16 stroke-dasharray:5,stroke:#B4976A n15["./middleware/adminauth"] style n15 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n17["ID"] n0 --> n17 n19["platformscrapeMiddleware"] n17 --> n19 n19 --> n18 style n19 stroke-dasharray:5,stroke:#B4976A n18["./middleware/platformscrape"] style n18 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n20["ID"] n0 --> n20 n20 --> n21 n21["./middleware/slackhandler"] style n21 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n22["ID"] n0 --> n22 n22 --> n23 n23["./middleware/mailhandler"] style n23 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n24["ID"] n0 --> n24 n26["domainToIdHandler"] n24 --> n26 n26 --> n25 style n26 stroke-dasharray:5,stroke:#B4976A n25["./utils/domain-to-id-handler"] style n25 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n27["ID"] n0 --> n27 n27 --> n28 n28["./middleware/dolater"] style n28 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n29["ID"] n0 --> n29 n31["canonAuthMiddleware"] n29 --> n31 n31 --> n30 style n31 stroke-dasharray:5,stroke:#B4976A n30["./middleware/canon"] style n30 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n32["ID"] n0 --> n32 n32 --> n33 n33["mustache"] style n33 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n34["ID"] n0 --> n34 n36["domaintopassword"] n34 --> n36 n36 --> n35 style n36 stroke-dasharray:5,stroke:#B4976A n37["saltpassword"] n34 --> n37 n37 --> n35 style n37 stroke-dasharray:5,stroke:#B4976A n35["./middleware/auth"] style n35 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n38["ID"] n0 --> n38 n38 --> n39 n39["./scripts/platform-webflow.js.txt"] style n39 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n40["ID"] n0 --> n40 n40 --> n41 n41["./scripts/canonclient.js.txt"] style n41 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n56["VS"] n0 --> n56 n58["VD: app"] n56 --> n58 n60["NE"] n58 --> n60 n63["CE: app.use"] n0 --> n63 n68["CE: protectAdminRoutes"] n63 --> n68 n71["CE: app.use"] n0 --> n71 n76["CE: cors"] n71 --> n76 n106["CE: app.get"] n0 --> n106 n111["AF"] n106 --> n111 n116["RS"] n111 --> n116 n117["CE: c.text"] n116 --> n117 n131["CE: app.get"] n0 --> n131 n136["AF"] n131 --> n136 n141["RS"] n136 --> n141 n142["CE: c.text"] n141 --> n142 n156["CE: app.route"] n0 --> n156 n163["CE: app.use"] n0 --> n163 n170["CE: app.route"] n0 --> n170 n177["CE: app.get"] n0 --> n177 n185["CE: app.all"] n0 --> n185 n193["CE: app.use"] n0 --> n193 n200["CE: app.route"] n0 --> n200 n207["CE: app.use"] n0 --> n207 n214["CE: app.route"] n0 --> n214 n220["VS"] n0 --> n220 n222["VD: cronEndpoints"] n220 --> n222 n240["MD: fetch"] n0 --> n240 n260["RS"] n240 --> n260 n261["CE: app.fetch"] n260 --> n261 n268["MD: scheduled"] n0 --> n268 n287["VS"] n268 --> n287 n289["VD: expiry"] n287 --> n289 n291["BE"] n289 --> n291 n292["CE: Date.now"] n291 --> n292 n298["BE"] n291 --> n298 n299["BE"] n298 --> n299 n302["VS"] n268 --> n302 n304["VD: token"] n302 --> n304 n307["CE: encryptToken"] n304 --> n307 n309["CE: expiry.toString"] n307 --> n309 n316["VS"] n268 --> n316 n318["VD: endpoints"] n316 --> n318 n325["IS"] n268 --> n325 n326["BE"] n325 --> n326 n330["BE"] n326 --> n330 n338["CE: console.error"] n325 --> n338 n346["RS"] n325 --> n346 n348["CE: endpoints.forEach"] n268 --> n348 n352["AF"] n348 --> n352 n357["VS"] n352 --> n357 n359["VD: url"] n357 --> n359 n361["NE"] n359 --> n361 n362["VS"] n352 --> n362 n364["VD: request"] n362 --> n364 n366["NE"] n364 --> n366 n368["CE: ctx.waitUntil"] n352 --> n368 n372["CE: Promise.resolve(app.fetch(request, env, ctx)).catch"] n368 --> n372 n374["CE: Promise.resolve"] n372 --> n374 n376["AF"] n372 --> n376 style n0 fill:#5E377B,color:#fff,stroke:#B4976A linkStyle default stroke:#c2a35d,stroke-width:1px,opacity:0.6
AF ArrowFunctionBE BinaryExpressionCE CallExpressionIS IfStatementID ImportDeclarationMD MethodDeclarationNE NewExpressionRS ReturnStatementSF SourceFileVD VariableDeclarationVS VariableStatement