(Feat): Initial Commit
Some checks failed
Build & Test / build-test (push) Has been cancelled
Build & Test / swagger-codegen-cli (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled

This commit is contained in:
2026-07-03 19:41:31 +05:30
commit 7e940c83a7
461 changed files with 45002 additions and 0 deletions

52
internal/api/wire.go Normal file
View File

@@ -0,0 +1,52 @@
//go:build wireinject
package api
import (
"database/sql"
"testing"
"allaboutapps.dev/aw/go-starter/internal/auth"
"allaboutapps.dev/aw/go-starter/internal/config"
"allaboutapps.dev/aw/go-starter/internal/data/local"
"allaboutapps.dev/aw/go-starter/internal/metrics"
"github.com/google/wire"
)
// INJECTORS - https://github.com/google/wire/blob/main/docs/guide.md#injectors
// serviceSet groups the default set of providers that are required for initing a server
var serviceSet = wire.NewSet(
newServerWithComponents,
NewPush,
NewMailer,
NewI18N,
authServiceSet,
local.NewService,
metrics.New,
NewClock,
)
var authServiceSet = wire.NewSet(
NewAuthService,
wire.Bind(new(AuthService), new(*auth.Service)),
)
// InitNewServer returns a new Server instance.
func InitNewServer(
_ config.Server,
) (*Server, error) {
wire.Build(serviceSet, NewDB, NoTest)
return new(Server), nil
}
// InitNewServerWithDB returns a new Server instance with the given DB instance.
// All the other components are initialized via go wire according to the configuration.
func InitNewServerWithDB(
_ config.Server,
_ *sql.DB,
t ...*testing.T,
) (*Server, error) {
wire.Build(serviceSet)
return new(Server), nil
}