diff options
Diffstat (limited to 'internal/app')
| -rw-r--r-- | internal/app/services.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/internal/app/services.go b/internal/app/services.go new file mode 100644 index 000000000..60b0e32f3 --- /dev/null +++ b/internal/app/services.go @@ -0,0 +1,31 @@ +package app + +import ( + "context" + "database/sql" + + "github.com/kujtimiihoxha/termai/internal/db" + "github.com/kujtimiihoxha/termai/internal/logging" + "github.com/kujtimiihoxha/termai/internal/session" + "github.com/spf13/viper" +) + +type App struct { + Context context.Context + + Sessions session.Service + + Logger logging.Interface +} + +func New(ctx context.Context, conn *sql.DB) *App { + q := db.New(conn) + log := logging.NewLogger(logging.Options{ + Level: viper.GetString("log.level"), + }) + return &App{ + Context: ctx, + Sessions: session.NewService(ctx, q), + Logger: log, + } +} |
