bitbucket.org/Aishee/synsec@v0.0.0-20210414005726-236fc01a153d/pkg/apiserver/controllers/v1/controller.go (about)

     1  package v1
     2  
     3  import (
     4  	"context"
     5  
     6  	middlewares "bitbucket.org/Aishee/synsec/pkg/apiserver/middlewares/v1"
     7  	"bitbucket.org/Aishee/synsec/pkg/csconfig"
     8  	"bitbucket.org/Aishee/synsec/pkg/database"
     9  	"bitbucket.org/Aishee/synsec/pkg/models"
    10  )
    11  
    12  type Controller struct {
    13  	Ectx         context.Context
    14  	DBClient     *database.Client
    15  	APIKeyHeader string
    16  	Middlewares  *middlewares.Middlewares
    17  	Profiles     []*csconfig.ProfileCfg
    18  	CAPIChan     chan []*models.Alert
    19  }
    20  
    21  func New(dbClient *database.Client, ctx context.Context, profiles []*csconfig.ProfileCfg) (*Controller, error) {
    22  	var err error
    23  	v1 := &Controller{
    24  		Ectx:         ctx,
    25  		DBClient:     dbClient,
    26  		APIKeyHeader: middlewares.APIKeyHeader,
    27  		Profiles:     profiles,
    28  	}
    29  	v1.Middlewares, err = middlewares.NewMiddlewares(dbClient)
    30  	if err != nil {
    31  		return v1, err
    32  	}
    33  
    34  	return v1, nil
    35  }