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",
};
---
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
---
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