Sidecar Logo

middleware/slackhandler.ts

Created: 2025-12-10T22:29:26.033Z Modified: 2025-12-19T15:52:41.973Z

Configuration

/**
 * Sidecar Config for middleware/slackhandler.ts
 */
module.exports = {
  title: "slackhandler.ts",
  description: "Auto-generated draft",
  created: "2025-12-10T22:29:26.033Z",
  modified: "2025-12-19T15:52:41.973Z",
};

Route Flow Map

--- title: "Route Flow: ssutil /src/middleware/slackhandler.ts " --- flowchart TD subgraph GET ["GET"] hono_get__ui["GET /ui"] style hono_get__ui fill:#5E377B,color:#fff,stroke:#B4976A listTemplatesRoute["GET /templates"] style listTemplatesRoute fill:#5E377B,color:#fff,stroke:#B4976A getTemplateRoute["GET /{template}"] style getTemplateRoute fill:#5E377B,color:#fff,stroke:#B4976A end subgraph POST ["POST"] sendSlackMessageRoute["POST /{template}"] style sendSlackMessageRoute fill:#5E377B,color:#fff,stroke:#B4976A end subgraph API ["API"] openapi_listTemplatesRoute["API listTemplatesRoute"] style openapi_listTemplatesRoute fill:#5E377B,color:#fff,stroke:#B4976A openapi_getTemplateRoute["API getTemplateRoute"] style openapi_getTemplateRoute fill:#5E377B,color:#fff,stroke:#B4976A openapi_sendSlackMessageRoute["API sendSlackMessageRoute"] style openapi_sendSlackMessageRoute fill:#5E377B,color:#fff,stroke:#B4976A end subgraph DOC ["DOC"] hono_doc__doc["DOC /doc"] style hono_doc__doc fill:#5E377B,color:#fff,stroke:#B4976A end generateExampleValue{{"generateExampleValue"}} style generateExampleValue fill:#161b22,color:#fff,stroke:#c2a35d generateTemplateExamples{{"generateTemplateExamples"}} style generateTemplateExamples fill:#161b22,color:#fff,stroke:#c2a35d listTemplatesRoute --> openapi_listTemplatesRoute getTemplateRoute --> openapi_getTemplateRoute sendSlackMessageRoute --> openapi_sendSlackMessageRoute generateTemplateExamples --> generateExampleValue linkStyle default stroke:#c2a35d,stroke-width:2px,color:#fff classDef default color:#fff

AST Code Structure

--- title: "AST Structure: ssutil /src/middleware/slackhandler.ts " --- %%{init: { 'flowchart': { 'nodeSpacing': 20, 'rankSpacing': 30 }, 'themeVariables': { 'fontSize': '11px' } } }%% graph LR n0["SF"] n2["@hono/zod-openapi"] style n2 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n3["ID: OpenAPIHono"] n0 --> n3 n3 --> n2 style n3 stroke-dasharray:5,stroke:#B4976A n4["ID: createRoute"] n0 --> n4 n4 --> n2 style n4 stroke-dasharray:5,stroke:#B4976A n5["ID: z"] n0 --> n5 n5 --> n2 style n5 stroke-dasharray:5,stroke:#B4976A n7["@hono/swagger-ui"] style n7 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n8["ID: swaggerUI"] n0 --> n8 n8 --> n7 style n8 stroke-dasharray:5,stroke:#B4976A n10["../utils/slack.js"] style n10 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n10 cursor:pointer,stroke-width:2px,stroke:#B4976A n11["ID: sendSlackMessage"] n0 --> n11 n11 --> n10 style n11 stroke-dasharray:5,stroke:#B4976A n12["ID: prepareSlackTemplateData"] n0 --> n12 n12 --> n10 style n12 stroke-dasharray:5,stroke:#B4976A n13["ID: validateSlackTemplateData"] n0 --> n13 n13 --> n10 style n13 stroke-dasharray:5,stroke:#B4976A n14["ID: getSlackTemplate"] n0 --> n14 n14 --> n10 style n14 stroke-dasharray:5,stroke:#B4976A n15["ID: listSlackTemplates"] n0 --> n15 n15 --> n10 style n15 stroke-dasharray:5,stroke:#B4976A n16["ID: getSlackTemplateVariables"] n0 --> n16 n16 --> n10 style n16 stroke-dasharray:5,stroke:#B4976A n763["CE: app.openAPIRegistry.registerComponent('securitySchemes')"] n0 --> n763 n784["CE: app.doc('/doc')"] n0 --> n784 n815["CE: app.get('/ui')"] n0 --> n815 n820["CE: swaggerUI"] n815 --> n820 n826["FD: generateExampleValue"] n0 --> n826 n1045["FD: generateTemplateExamples"] n0 --> n1045 n1163["CE: createRoute(listTemplatesRoute)"] n0 --> n1163 n1204["CE: app.openapi(listTemplatesRoute)"] n0 --> n1204 n1260["CE: c.json"] n1204 --> n1260 n1270["CE: createRoute(getTemplateRoute)"] n0 --> n1270 n1358["CE: app.openapi(getTemplateRoute)"] n0 --> n1358 n1395["CE: c.json(400)"] n1358 --> n1395 n1415["CE: c.json"] n1358 --> n1415 n1444["CE: createRoute(sendSlackMessageRoute)"] n0 --> n1444 n1562["CE: app.openapi(sendSlackMessageRoute)"] n0 --> n1562 subgraph sub1574 ["Safe Boundary"] n1633["CE: c.json(400)"] n1562 --> n1633 n1707["CE: c.json(400)"] n1562 --> n1707 n1765["CE: c.json(400)"] n1562 --> n1765 subgraph sub1787 ["Safe Boundary"] n1799["CE: c.json({ success:)"] n1562 --> n1799 n1816["CE: c.json(500)"] n1562 --> n1816 end end style n0 fill:#5E377B,color:#fff,stroke:#B4976A linkStyle default stroke:#c2a35d,stroke-width:1px,opacity:0.6 click n10 "../utils/slack.html" "View Documentation"
CE CallExpressionFD FunctionDeclarationID ImportDeclarationSF SourceFileTS TryStatement