- Rename routes: /dashboard/tokens → /dashboard/apikeys, /dashboard/manager/keys → /dashboard/manager/channels - Add KeyPlain field to store plaintext API keys for re-viewing - API key list shows masked key (sk-ot-123456****abcd) with eye toggle to reveal - Copy button with 2s feedback on key list - TokenNew shows full key + copy after creation - Increase key prefix display to 12 characters - Fix SQLite driver: replace gorm.io/driver/sqlite with ncruces/go-sqlite3/gormlite - Fix user.status === 'active' checks across frontend views - Add channel store for new channels API - Update Makefile frontend build to work reliably BREAKING CHANGE: Existing API keys created before this change will not show their plaintext value (only prefix visible).
69 lines
1.6 KiB
Makefile
69 lines
1.6 KiB
Makefile
.PHONY: build run test clean fmt lint frontend
|
|
|
|
BINARY_NAME=openteam
|
|
BUILD_DIR=bin
|
|
BACKEND_DIR=backend
|
|
|
|
# Build
|
|
build: frontend
|
|
cd $(BACKEND_DIR) && CGO_ENABLED=0 go build -o ../$(BUILD_DIR)/$(BINARY_NAME) ./cmd/openteam
|
|
|
|
# Build frontend and copy dist
|
|
frontend:
|
|
cd frontend && pnpm install && pnpm build
|
|
rm -rf $(BACKEND_DIR)/cmd/openteam/dist
|
|
cp -r frontend/dist $(BACKEND_DIR)/cmd/openteam/dist
|
|
|
|
# Run
|
|
run: build
|
|
./$(BUILD_DIR)/$(BINARY_NAME)
|
|
|
|
# Development run
|
|
dev:
|
|
cd $(BACKEND_DIR) && go run ./cmd/openteam
|
|
|
|
# Test
|
|
test:
|
|
cd $(BACKEND_DIR) && go test ./internal/... -v
|
|
|
|
# Test with coverage
|
|
test-cover:
|
|
cd $(BACKEND_DIR) && go test ./internal/... -coverprofile=coverage.out
|
|
cd $(BACKEND_DIR) && go tool cover -html=coverage.out -o coverage.html
|
|
|
|
# Format code
|
|
fmt:
|
|
cd $(BACKEND_DIR) && go fmt ./...
|
|
|
|
# Lint
|
|
lint:
|
|
cd $(BACKEND_DIR) && golangci-lint run
|
|
|
|
# Clean
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
cd $(BACKEND_DIR) && rm -f coverage.out coverage.html
|
|
|
|
# Tidy dependencies
|
|
tidy:
|
|
cd $(BACKEND_DIR) && go mod tidy
|
|
|
|
# Build for Linux
|
|
build-linux:
|
|
cd $(BACKEND_DIR) && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ../$(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 ./cmd/openteam
|
|
|
|
# Build for macOS
|
|
build-mac:
|
|
cd $(BACKEND_DIR) && CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o ../$(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 ./cmd/openteam
|
|
|
|
# Build all platforms
|
|
build-all: build-linux build-mac
|
|
|
|
# Database migration (will be implemented)
|
|
migrate:
|
|
@echo "Migration will be implemented in future"
|
|
|
|
# Seed data (will be implemented)
|
|
seed:
|
|
@echo "Seeding will be implemented in future"
|