dd060fd34a
- Fix openapi.yaml: quote bearerAuth description that contained unquoted `: ` plain-scalar YAML
- Add server/api/cfg-{types,server,client}.yaml — oapi-codegen v2 config for three split outputs
- Add server/api/gen/gen.go — three //go:generate directives; run `make generate`
- Generate server/api/gen/{types,server,client}.gen.go from the contract (all 15 operations)
- Add github.com/oapi-codegen/runtime v1.4.1 to go.mod (runtime types needed by generated code)
- Add server/internal/httpapi/unimplemented.go — UnimplementedServer satisfies gen.ServerInterface;
every method writes HTTP 501 + {code,message_zh,message_en} JSON body (no dep on task-1f apierr)
- Update server/cmd/server/main.go — mount /v1 API via gen.HandlerFromMuxWithBaseURL; keep /healthz
- Update server/Makefile — `generate` target now runs `go generate ./...`;
add `check-generate` CI guard (regenerate + git diff --exit-code)
- Add server/internal/httpapi/unimplemented_test.go — 19 httptest cases covering all 15 API routes
(501+body), undefined routes (404), and /healthz isolation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
44 lines
2.1 KiB
Makefile
44 lines
2.1 KiB
Makefile
.PHONY: build test test-unit test-integration vet lint generate check-generate migrate-up migrate-down build-codegen deps
|
||
|
||
# ── deps ───────────────────────────────────────────────────────────────────────
|
||
deps:
|
||
go mod tidy
|
||
go mod download
|
||
|
||
# ── build ──────────────────────────────────────────────────────────────────────
|
||
build:
|
||
go build ./...
|
||
|
||
build-codegen: ## 激活码批次生成 CLI
|
||
go build -o bin/codegen ./cmd/codegen
|
||
|
||
# ── test ───────────────────────────────────────────────────────────────────────
|
||
test:
|
||
go test ./...
|
||
|
||
test-unit: ## 单测(不依赖外部服务)
|
||
go test -count=1 -race ./internal/codes/... -run 'Test[^I][^n][^t]'
|
||
|
||
test-integration: ## 集成测试(需本机 docker,testcontainers)
|
||
go test -count=1 ./internal/codes/... -run TestInt
|
||
|
||
# ── vet / lint ─────────────────────────────────────────────────────────────────
|
||
vet:
|
||
go vet ./...
|
||
lint:
|
||
golangci-lint run ./...
|
||
|
||
# ── generate ───────────────────────────────────────────────────────────────────
|
||
generate:
|
||
go generate ./...
|
||
|
||
check-generate: ## CI guard: regenerate and fail if generated files changed
|
||
go generate ./...
|
||
git diff --exit-code server/api/gen
|
||
|
||
# ── migrate ────────────────────────────────────────────────────────────────────
|
||
migrate-up:
|
||
@echo "migrate-up: see cmd/migrate"
|
||
migrate-down:
|
||
@echo "migrate-down: see cmd/migrate"
|