env.go (530B)
1 package main 2 3 import ( 4 "jacobedwards.org/spaceplanner.app/internal/backend" 5 jwt "github.com/appleboy/gin-jwt/v2" 6 ) 7 8 type Env struct { 9 Auth *jwt.GinJWTMiddleware 10 Config Config 11 backend *backend.Env 12 } 13 14 func NewEnv(c Config) (*Env, error) { 15 var e Env 16 17 e.Config = c 18 p, err := (&e).AuthParams([]byte(e.Config.JWT.Key)) 19 if err != nil { 20 return nil, err 21 } 22 e.Auth, err = jwt.New(p) 23 if err != nil { 24 return nil, err 25 } 26 27 e.backend, err = backend.NewEnv(c.Backend) 28 return &e, err 29 } 30 31 func (e *Env) Free() { 32 e.backend.Free() 33 }