api.spaceplanner.app

Spaceplanner API
git clone git://jacobedwards.org/api.spaceplanner.app
Log | Files | Refs

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 }