loader

package
v0.0.0-...-f79a1ae Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetServiceAccount

func GetServiceAccount(ctx context.Context, id uuid.UUID) (*model.ServiceAccount, error)

func GetTeam

func GetTeam(ctx context.Context, teamSlug slug.Slug) (*model.Team, error)

func GetTeamEnvironment

func GetTeamEnvironment(ctx context.Context, teamSlug slug.Slug, envName string) (*model.Env, error)

func GetUser

func GetUser(ctx context.Context, userID uuid.UUID) (*model.User, error)

func GetUserRoles

func GetUserRoles(ctx context.Context, userID uuid.UUID) ([]*model.Role, error)

func Middleware

func Middleware(db database.Database) func(http.Handler) http.Handler

Middleware injects data loaders into the context

func NewLoaderContext

func NewLoaderContext(ctx context.Context, db database.Database) context.Context

func ToGraphEnv

func ToGraphEnv(m *database.TeamEnvironment) *model.Env

func ToGraphServiceAccount

func ToGraphServiceAccount(m *database.ServiceAccount) *model.ServiceAccount

func ToGraphTeam

func ToGraphTeam(m *database.Team) *model.Team

func ToGraphUser

func ToGraphUser(u *database.User) *model.User

func ToGraphUserRoles

func ToGraphUserRoles(m *authz.Role) *model.Role

Types

type Loaders

type Loaders struct {
	ServiceAccountLoader  *dataloadgen.Loader[uuid.UUID, *model.ServiceAccount]
	TeamEnvironmentLoader *dataloadgen.Loader[database.EnvSlugName, *model.Env]
	TeamLoader            *dataloadgen.Loader[slug.Slug, *model.Team]
	UserLoader            *dataloadgen.Loader[uuid.UUID, *model.User]
	UserRolesLoader       *dataloadgen.Loader[uuid.UUID, []*model.Role]
}

Loaders wrap your data loaders to inject via middleware

func For

func For(ctx context.Context) *Loaders

For returns the dataloader for a given context

func NewLoaders

func NewLoaders(db database.Database) *Loaders

NewLoaders instantiates data loaders for the middleware

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL