add service
This commit is contained in:
78
Makefile
Normal file
78
Makefile
Normal file
@@ -0,0 +1,78 @@
|
||||
.PHONY: help build run migrate-up migrate-down migrate-create lint test proto clean
|
||||
|
||||
help:
|
||||
@echo "Available commands:"
|
||||
@echo " make build - Build the service"
|
||||
@echo " make run - Run the service"
|
||||
@echo " make migrate-up - Apply migrations"
|
||||
@echo " make migrate-down - Rollback migrations"
|
||||
@echo " make migrate-create - Create new migration (usage: make migrate-create name=migration_name)"
|
||||
@echo " make lint - Run golangci-lint"
|
||||
@echo " make proto - Generate proto files"
|
||||
@echo " make generate-mock - Generate mocks for all interfaces (minimock)"
|
||||
@echo " make test - Run tests"
|
||||
@echo " make clean - Clean build artifacts"
|
||||
|
||||
build:
|
||||
@echo "Building server..."
|
||||
@mkdir -p bin
|
||||
go build -o bin/server cmd/server/main.go
|
||||
@echo "Build complete: bin/server"
|
||||
|
||||
run:
|
||||
@echo "Running server..."
|
||||
go run cmd/server/main.go
|
||||
|
||||
migrate-up:
|
||||
@echo "Applying migrations..."
|
||||
goose -dir migrations postgres "$(DB_URL)" up
|
||||
|
||||
migrate-down:
|
||||
@echo "Rolling back migrations..."
|
||||
goose -dir migrations postgres "$(DB_URL)" down
|
||||
|
||||
migrate-create:
|
||||
@echo "Creating migration: $(name)"
|
||||
goose -dir migrations create $(name) sql
|
||||
|
||||
lint:
|
||||
@echo "Running linter..."
|
||||
golangci-lint run ./...
|
||||
|
||||
proto:
|
||||
@echo "Generating proto files..."
|
||||
@mkdir -p pkg/pb
|
||||
@find api/proto -name "*.proto" -exec protoc --go_out=pkg/pb --go_opt=paths=source_relative --go-grpc_out=pkg/pb --go-grpc_opt=paths=source_relative {} \;
|
||||
@echo "Proto generation complete"
|
||||
|
||||
clean:
|
||||
@echo "Cleaning build artifacts..."
|
||||
rm -rf bin/
|
||||
@echo "Clean complete"
|
||||
|
||||
.PHONY: generate-mock
|
||||
generate-mock:
|
||||
@echo "Generating mocks for repository interfaces..."
|
||||
@mkdir -p internal/mocks
|
||||
@cd internal/repository && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i UserRepository -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i SessionRepository -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i InviteRepository -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i RequestRepository -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i SupplierRepository -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i TokenUsageRepository -o ../mocks -p mocks -s "_mock.go"
|
||||
@echo "Generating mocks for service interfaces..."
|
||||
@cd internal/service && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i AuthService -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i UserService -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i InviteService -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i RequestService -o ../mocks -p mocks -s "_mock.go" && \
|
||||
go run github.com/gojuno/minimock/v3/cmd/minimock@latest -i SupplierService -o ../mocks -p mocks -s "_mock.go"
|
||||
@echo "Mocks generated in internal/mocks/"
|
||||
|
||||
test:
|
||||
@echo "Running tests..."
|
||||
go test -v ./...
|
||||
|
||||
# Default DB URL for local development
|
||||
DB_URL ?= postgres://postgres:password@localhost:5432/b2b_search?sslmode=disable
|
||||
Reference in New Issue
Block a user