SuperAPI AI 工具集

w2fhr-backend

编程与开发

查看项目

更新于 10-15 23:33

技能介绍

用途:W2FHR 的 Go 后端,作为 AWS Lambda 函数运行在 API Gateway 之后,处理 Google Sheets 集成以及可用性、工时表、排班等业务。项目为单仓库,依赖已 vendored。

主要结构:src/GoogleSheets/server.go 为 Lambda 处理器与本地开发服务器;src/GoogleSheets/packages/ 存放 Lambda 包与共享工具;src/GoogleSheets/vendor/ 为 vendored Go 依赖;src/GoogleSheets/run_local_server.sh 为本地开发脚本。

架构:每个 Lambda 包采用三层模式。main.go 调用 lambda.Start(handlers.HandleRequest);handlers/handler.go 负责提取 JWT、按 HTTP 方法路由、序列化响应与状态码;<Name>Types.go 定义公开与私有类型;<Operation>.go 承载业务逻辑,不涉及 HTTP 与 Sheets API;<Sheet>.go 仅做 Google Sheets 数据访问,暴露 Connect()。

共享包位于 packages/common/:GoogleClient 为单例 *sheets.Service,业务层不得导入;Constants 提供共享错误哨兵、表头映射与类型转换;Utilities 解析 JWT 为 EmployeeInfo(email、id、group、availability row);CognitoGroupAuthorizer 做整数级角色校验,可配置最低级别;TimeUtil 按温哥华时区解析日期字符串,支持排班日期与 API 日期两种格式。

关键依赖:google.golang.org/api/sheets/v4、github.com/aws/aws-lambda-go、github.com/golang-jwt/jwt/v5。补充文档 references/unit-testing.md 说明单元测试理念、测试范围与可测试性重构。

限制:资料未提供具体安装命令、部署步骤、收费与平台细节,暂未提供。