-
Notifications
You must be signed in to change notification settings - Fork 1
/
app.go
48 lines (42 loc) · 1.01 KB
/
app.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package app
import (
"github.com/dgoujard/rfc2136_web_api/util/rfc2136"
"github.com/go-playground/validator/v10"
"github.com/dgoujard/rfc2136_web_api/util/logger"
)
const (
appErrDataCreationFailure = "data creation failure"
appErrDataAccessFailure = "data access failure"
appErrDataUpdateFailure = "data update failure"
appErrJsonCreationFailure = "json creation failure"
appErrFormDecodingFailure = "form decoding failure"
appErrFormErrResponseFailure = "form error response failure"
)
type App struct {
logger *logger.Logger
validator *validator.Validate
rfc2136 *rfc2136.Rfc2136
zones []string
username string
password string
}
func New(
logger *logger.Logger,
validator *validator.Validate,
rfc2136 *rfc2136.Rfc2136,
zones []string,
username string,
password string,
) *App {
return &App{
logger: logger,
validator: validator,
rfc2136: rfc2136,
zones: zones,
username: username,
password: password,
}
}
func (app *App) Logger() *logger.Logger {
return app.logger
}