gen

package
v0.0.0-...-a9b1124 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2020 License: MIT Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeyPrincipalID         key    = iota
	KeyLoaders             key    = iota
	KeyExecutableSchema    key    = iota
	KeyJWTClaims           key    = iota
	KeyMutationTransaction key    = iota
	KeyMutationEvents      key    = iota
	SchemaSDL              string = `` /* 19386-byte string literal not displayed */

)
View Source
const (
	ORMChangeEvent = "com.graphql.orm.change"
)

Variables

View Source
var AllTaskType = []TaskType{
	TaskTypeBug,
	TaskTypeTask,
}

Functions

func AddMutationEvent

func AddMutationEvent(ctx context.Context, e events.Event)

func ApplyChanges

func ApplyChanges(changes map[string]interface{}, to interface{}) error

used to convert map[string]interface{} to EntityChanges struct

func AutoMigrate

func AutoMigrate(db *gorm.DB) error

func DeleteAllCompaniesHandler

func DeleteAllCompaniesHandler(ctx context.Context, r *GeneratedResolver) (bool, error)

func DeleteAllTasksHandler

func DeleteAllTasksHandler(ctx context.Context, r *GeneratedResolver) (bool, error)

func DeleteAllUsersHandler

func DeleteAllUsersHandler(ctx context.Context, r *GeneratedResolver) (bool, error)

func EnrichContextWithMutations

func EnrichContextWithMutations(ctx context.Context, r *GeneratedResolver) context.Context

func FinishMutationContext

func FinishMutationContext(ctx context.Context, r *GeneratedResolver) (err error)

func GetHTTPServeMux

func GetHTTPServeMux(r ResolverRoot, db *DB, migrations []*gormigrate.Migration) *http.ServeMux

func GetItem

func GetItem(ctx context.Context, db *gorm.DB, out interface{}, id *string) error

func GetItemForRelation

func GetItemForRelation(ctx context.Context, db *gorm.DB, obj interface{}, relation string, out interface{}) error

func GetLoaders

func GetLoaders(db *DB) map[string]*dataloader.Loader

func GetPrincipalIDFromContext

func GetPrincipalIDFromContext(ctx context.Context) *string

func Marshal_Any

func Marshal_Any(v interface{}) graphql.Marshaler

func Migrate

func Migrate(db *gorm.DB, options *gormigrate.Options, migrations []*gormigrate.Migration) error

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

func RollbackMutationContext

func RollbackMutationContext(ctx context.Context, r *GeneratedResolver) error

func TableName

func TableName(name string) string

func Unmarshal_Any

func Unmarshal_Any(v interface{}) (interface{}, error)

Types

type Company

type Company struct {
	ID        string     `json:"id" gorm:"column:id;primary_key"`
	Name      *string    `json:"name" gorm:"column:name"`
	UpdatedAt *time.Time `json:"updatedAt" gorm:"column:updatedAt"`
	CreatedAt time.Time  `json:"createdAt" gorm:"column:createdAt"`
	UpdatedBy *string    `json:"updatedBy" gorm:"column:updatedBy"`
	CreatedBy *string    `json:"createdBy" gorm:"column:createdBy"`

	Employees []*User `` /* 128-byte string literal not displayed */
}

func CreateCompanyHandler

func CreateCompanyHandler(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *Company, err error)

func DeleteCompanyHandler

func DeleteCompanyHandler(ctx context.Context, r *GeneratedResolver, id string) (item *Company, err error)

func UpdateCompanyHandler

func UpdateCompanyHandler(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *Company, err error)

func UserCompaniesHandler

func UserCompaniesHandler(ctx context.Context, r *GeneratedResolver, obj *User) (res []*Company, err error)

func (*Company) Is_Entity

func (m *Company) Is_Entity()

type CompanyChanges

type CompanyChanges struct {
	ID        string
	Name      *string
	UpdatedAt *time.Time
	CreatedAt time.Time
	UpdatedBy *string
	CreatedBy *string

	EmployeesIDs []*string
}

type CompanyFilterType

type CompanyFilterType struct {
	And             []*CompanyFilterType `json:"AND"`
	Or              []*CompanyFilterType `json:"OR"`
	ID              *string              `json:"id"`
	IDMin           *string              `json:"idMin"`
	IDMax           *string              `json:"idMax"`
	IDNe            *string              `json:"id_ne"`
	IDMinNe         *string              `json:"idMin_ne"`
	IDMaxNe         *string              `json:"idMax_ne"`
	IDGt            *string              `json:"id_gt"`
	IDMinGt         *string              `json:"idMin_gt"`
	IDMaxGt         *string              `json:"idMax_gt"`
	IDLt            *string              `json:"id_lt"`
	IDMinLt         *string              `json:"idMin_lt"`
	IDMaxLt         *string              `json:"idMax_lt"`
	IDGte           *string              `json:"id_gte"`
	IDMinGte        *string              `json:"idMin_gte"`
	IDMaxGte        *string              `json:"idMax_gte"`
	IDLte           *string              `json:"id_lte"`
	IDMinLte        *string              `json:"idMin_lte"`
	IDMaxLte        *string              `json:"idMax_lte"`
	IDIn            []string             `json:"id_in"`
	IDMinIn         []string             `json:"idMin_in"`
	IDMaxIn         []string             `json:"idMax_in"`
	IDNull          *bool                `json:"id_null"`
	Name            *string              `json:"name"`
	NameMin         *string              `json:"nameMin"`
	NameMax         *string              `json:"nameMax"`
	NameNe          *string              `json:"name_ne"`
	NameMinNe       *string              `json:"nameMin_ne"`
	NameMaxNe       *string              `json:"nameMax_ne"`
	NameGt          *string              `json:"name_gt"`
	NameMinGt       *string              `json:"nameMin_gt"`
	NameMaxGt       *string              `json:"nameMax_gt"`
	NameLt          *string              `json:"name_lt"`
	NameMinLt       *string              `json:"nameMin_lt"`
	NameMaxLt       *string              `json:"nameMax_lt"`
	NameGte         *string              `json:"name_gte"`
	NameMinGte      *string              `json:"nameMin_gte"`
	NameMaxGte      *string              `json:"nameMax_gte"`
	NameLte         *string              `json:"name_lte"`
	NameMinLte      *string              `json:"nameMin_lte"`
	NameMaxLte      *string              `json:"nameMax_lte"`
	NameIn          []string             `json:"name_in"`
	NameMinIn       []string             `json:"nameMin_in"`
	NameMaxIn       []string             `json:"nameMax_in"`
	NameLike        *string              `json:"name_like"`
	NameMinLike     *string              `json:"nameMin_like"`
	NameMaxLike     *string              `json:"nameMax_like"`
	NamePrefix      *string              `json:"name_prefix"`
	NameMinPrefix   *string              `json:"nameMin_prefix"`
	NameMaxPrefix   *string              `json:"nameMax_prefix"`
	NameSuffix      *string              `json:"name_suffix"`
	NameMinSuffix   *string              `json:"nameMin_suffix"`
	NameMaxSuffix   *string              `json:"nameMax_suffix"`
	NameNull        *bool                `json:"name_null"`
	UpdatedAt       *time.Time           `json:"updatedAt"`
	UpdatedAtMin    *time.Time           `json:"updatedAtMin"`
	UpdatedAtMax    *time.Time           `json:"updatedAtMax"`
	UpdatedAtNe     *time.Time           `json:"updatedAt_ne"`
	UpdatedAtMinNe  *time.Time           `json:"updatedAtMin_ne"`
	UpdatedAtMaxNe  *time.Time           `json:"updatedAtMax_ne"`
	UpdatedAtGt     *time.Time           `json:"updatedAt_gt"`
	UpdatedAtMinGt  *time.Time           `json:"updatedAtMin_gt"`
	UpdatedAtMaxGt  *time.Time           `json:"updatedAtMax_gt"`
	UpdatedAtLt     *time.Time           `json:"updatedAt_lt"`
	UpdatedAtMinLt  *time.Time           `json:"updatedAtMin_lt"`
	UpdatedAtMaxLt  *time.Time           `json:"updatedAtMax_lt"`
	UpdatedAtGte    *time.Time           `json:"updatedAt_gte"`
	UpdatedAtMinGte *time.Time           `json:"updatedAtMin_gte"`
	UpdatedAtMaxGte *time.Time           `json:"updatedAtMax_gte"`
	UpdatedAtLte    *time.Time           `json:"updatedAt_lte"`
	UpdatedAtMinLte *time.Time           `json:"updatedAtMin_lte"`
	UpdatedAtMaxLte *time.Time           `json:"updatedAtMax_lte"`
	UpdatedAtIn     []*time.Time         `json:"updatedAt_in"`
	UpdatedAtMinIn  []*time.Time         `json:"updatedAtMin_in"`
	UpdatedAtMaxIn  []*time.Time         `json:"updatedAtMax_in"`
	UpdatedAtNull   *bool                `json:"updatedAt_null"`
	CreatedAt       *time.Time           `json:"createdAt"`
	CreatedAtMin    *time.Time           `json:"createdAtMin"`
	CreatedAtMax    *time.Time           `json:"createdAtMax"`
	CreatedAtNe     *time.Time           `json:"createdAt_ne"`
	CreatedAtMinNe  *time.Time           `json:"createdAtMin_ne"`
	CreatedAtMaxNe  *time.Time           `json:"createdAtMax_ne"`
	CreatedAtGt     *time.Time           `json:"createdAt_gt"`
	CreatedAtMinGt  *time.Time           `json:"createdAtMin_gt"`
	CreatedAtMaxGt  *time.Time           `json:"createdAtMax_gt"`
	CreatedAtLt     *time.Time           `json:"createdAt_lt"`
	CreatedAtMinLt  *time.Time           `json:"createdAtMin_lt"`
	CreatedAtMaxLt  *time.Time           `json:"createdAtMax_lt"`
	CreatedAtGte    *time.Time           `json:"createdAt_gte"`
	CreatedAtMinGte *time.Time           `json:"createdAtMin_gte"`
	CreatedAtMaxGte *time.Time           `json:"createdAtMax_gte"`
	CreatedAtLte    *time.Time           `json:"createdAt_lte"`
	CreatedAtMinLte *time.Time           `json:"createdAtMin_lte"`
	CreatedAtMaxLte *time.Time           `json:"createdAtMax_lte"`
	CreatedAtIn     []*time.Time         `json:"createdAt_in"`
	CreatedAtMinIn  []*time.Time         `json:"createdAtMin_in"`
	CreatedAtMaxIn  []*time.Time         `json:"createdAtMax_in"`
	CreatedAtNull   *bool                `json:"createdAt_null"`
	UpdatedBy       *string              `json:"updatedBy"`
	UpdatedByMin    *string              `json:"updatedByMin"`
	UpdatedByMax    *string              `json:"updatedByMax"`
	UpdatedByNe     *string              `json:"updatedBy_ne"`
	UpdatedByMinNe  *string              `json:"updatedByMin_ne"`
	UpdatedByMaxNe  *string              `json:"updatedByMax_ne"`
	UpdatedByGt     *string              `json:"updatedBy_gt"`
	UpdatedByMinGt  *string              `json:"updatedByMin_gt"`
	UpdatedByMaxGt  *string              `json:"updatedByMax_gt"`
	UpdatedByLt     *string              `json:"updatedBy_lt"`
	UpdatedByMinLt  *string              `json:"updatedByMin_lt"`
	UpdatedByMaxLt  *string              `json:"updatedByMax_lt"`
	UpdatedByGte    *string              `json:"updatedBy_gte"`
	UpdatedByMinGte *string              `json:"updatedByMin_gte"`
	UpdatedByMaxGte *string              `json:"updatedByMax_gte"`
	UpdatedByLte    *string              `json:"updatedBy_lte"`
	UpdatedByMinLte *string              `json:"updatedByMin_lte"`
	UpdatedByMaxLte *string              `json:"updatedByMax_lte"`
	UpdatedByIn     []string             `json:"updatedBy_in"`
	UpdatedByMinIn  []string             `json:"updatedByMin_in"`
	UpdatedByMaxIn  []string             `json:"updatedByMax_in"`
	UpdatedByNull   *bool                `json:"updatedBy_null"`
	CreatedBy       *string              `json:"createdBy"`
	CreatedByMin    *string              `json:"createdByMin"`
	CreatedByMax    *string              `json:"createdByMax"`
	CreatedByNe     *string              `json:"createdBy_ne"`
	CreatedByMinNe  *string              `json:"createdByMin_ne"`
	CreatedByMaxNe  *string              `json:"createdByMax_ne"`
	CreatedByGt     *string              `json:"createdBy_gt"`
	CreatedByMinGt  *string              `json:"createdByMin_gt"`
	CreatedByMaxGt  *string              `json:"createdByMax_gt"`
	CreatedByLt     *string              `json:"createdBy_lt"`
	CreatedByMinLt  *string              `json:"createdByMin_lt"`
	CreatedByMaxLt  *string              `json:"createdByMax_lt"`
	CreatedByGte    *string              `json:"createdBy_gte"`
	CreatedByMinGte *string              `json:"createdByMin_gte"`
	CreatedByMaxGte *string              `json:"createdByMax_gte"`
	CreatedByLte    *string              `json:"createdBy_lte"`
	CreatedByMinLte *string              `json:"createdByMin_lte"`
	CreatedByMaxLte *string              `json:"createdByMax_lte"`
	CreatedByIn     []string             `json:"createdBy_in"`
	CreatedByMinIn  []string             `json:"createdByMin_in"`
	CreatedByMaxIn  []string             `json:"createdByMax_in"`
	CreatedByNull   *bool                `json:"createdBy_null"`
	Employees       *UserFilterType      `json:"employees"`
}

func (*CompanyFilterType) AndWith

AndWith convenience method for combining two or more filters with AND statement

func (*CompanyFilterType) Apply

func (f *CompanyFilterType) Apply(ctx context.Context, dialect gorm.Dialect, wheres *[]string, whereValues *[]interface{}, havings *[]string, havingValues *[]interface{}, joins *[]string) error

func (*CompanyFilterType) ApplyWithAlias

func (f *CompanyFilterType) ApplyWithAlias(ctx context.Context, dialect gorm.Dialect, alias string, wheres *[]string, whereValues *[]interface{}, havings *[]string, havingValues *[]interface{}, joins *[]string) error

func (*CompanyFilterType) HavingContent

func (f *CompanyFilterType) HavingContent(dialect gorm.Dialect, aliasPrefix string) (conditions []string, values []interface{})

func (*CompanyFilterType) IsEmpty

func (f *CompanyFilterType) IsEmpty(ctx context.Context, dialect gorm.Dialect) bool

func (*CompanyFilterType) OrWith

OrWith convenience method for combining two or more filters with OR statement

func (*CompanyFilterType) WhereContent

func (f *CompanyFilterType) WhereContent(dialect gorm.Dialect, aliasPrefix string) (conditions []string, values []interface{})

type CompanyQueryFilter

type CompanyQueryFilter struct {
	Query *string
}

func (*CompanyQueryFilter) Apply

func (qf *CompanyQueryFilter) Apply(ctx context.Context, dialect gorm.Dialect, selectionSet *ast.SelectionSet, wheres *[]string, values *[]interface{}, joins *[]string) error

type CompanyResolver

type CompanyResolver interface {
	Employees(ctx context.Context, obj *Company) ([]*User, error)

	EmployeesIds(ctx context.Context, obj *Company) ([]string, error)
	EmployeesConnection(ctx context.Context, obj *Company, offset *int, limit *int, q *string, sort []*UserSortType, filter *UserFilterType) (*UserResultType, error)
}

type CompanyResultType

type CompanyResultType struct {
	EntityResultType
}

type CompanyResultTypeResolver

type CompanyResultTypeResolver interface {
	Items(ctx context.Context, obj *CompanyResultType) ([]*Company, error)
	Count(ctx context.Context, obj *CompanyResultType) (int, error)
}

type CompanySortType

type CompanySortType struct {
	ID              *ObjectSortType `json:"id"`
	IDMin           *ObjectSortType `json:"idMin"`
	IDMax           *ObjectSortType `json:"idMax"`
	Name            *ObjectSortType `json:"name"`
	NameMin         *ObjectSortType `json:"nameMin"`
	NameMax         *ObjectSortType `json:"nameMax"`
	UpdatedAt       *ObjectSortType `json:"updatedAt"`
	UpdatedAtMin    *ObjectSortType `json:"updatedAtMin"`
	UpdatedAtMax    *ObjectSortType `json:"updatedAtMax"`
	CreatedAt       *ObjectSortType `json:"createdAt"`
	CreatedAtMin    *ObjectSortType `json:"createdAtMin"`
	CreatedAtMax    *ObjectSortType `json:"createdAtMax"`
	UpdatedBy       *ObjectSortType `json:"updatedBy"`
	UpdatedByMin    *ObjectSortType `json:"updatedByMin"`
	UpdatedByMax    *ObjectSortType `json:"updatedByMax"`
	CreatedBy       *ObjectSortType `json:"createdBy"`
	CreatedByMin    *ObjectSortType `json:"createdByMin"`
	CreatedByMax    *ObjectSortType `json:"createdByMax"`
	EmployeesIds    *ObjectSortType `json:"employeesIds"`
	EmployeesIdsMin *ObjectSortType `json:"employeesIdsMin"`
	EmployeesIdsMax *ObjectSortType `json:"employeesIdsMax"`
	Employees       *UserSortType   `json:"employees"`
}

func (CompanySortType) Apply

func (s CompanySortType) Apply(ctx context.Context, dialect gorm.Dialect, sorts *[]SortInfo, joins *[]string) error

func (CompanySortType) ApplyWithAlias

func (s CompanySortType) ApplyWithAlias(ctx context.Context, dialect gorm.Dialect, alias string, sorts *[]SortInfo, joins *[]string) error

type Company_employees

type Company_employees struct {
	// contains filtered or unexported fields
}

func (Company_employees) TableName

func (Company_employees) TableName() string

type ComplexityRoot

type ComplexityRoot struct {
	Company struct {
		CreatedAt           func(childComplexity int) int
		CreatedBy           func(childComplexity int) int
		Employees           func(childComplexity int) int
		EmployeesConnection func(childComplexity int, offset *int, limit *int, q *string, sort []*UserSortType, filter *UserFilterType) int
		EmployeesIds        func(childComplexity int) int
		ID                  func(childComplexity int) int
		Name                func(childComplexity int) int
		UpdatedAt           func(childComplexity int) int
		UpdatedBy           func(childComplexity int) int
	}

	CompanyResultType struct {
		Count func(childComplexity int) int
		Items func(childComplexity int) int
	}

	Mutation struct {
		CreateCompany      func(childComplexity int, input map[string]interface{}) int
		CreateTask         func(childComplexity int, input map[string]interface{}) int
		CreateUser         func(childComplexity int, input map[string]interface{}) int
		DeleteAllCompanies func(childComplexity int) int
		DeleteAllTasks     func(childComplexity int) int
		DeleteAllUsers     func(childComplexity int) int
		DeleteCompany      func(childComplexity int, id string) int
		DeleteTask         func(childComplexity int, id string) int
		DeleteUser         func(childComplexity int, id string) int
		UpdateCompany      func(childComplexity int, id string, input map[string]interface{}) int
		UpdateTask         func(childComplexity int, id string, input map[string]interface{}) int
		UpdateUser         func(childComplexity int, id string, input map[string]interface{}) int
	}

	Query struct {
		Companies func(childComplexity int, offset *int, limit *int, q *string, sort []*CompanySortType, filter *CompanyFilterType) int
		Company   func(childComplexity int, id *string, q *string, filter *CompanyFilterType) int
		Hello     func(childComplexity int) int
		Task      func(childComplexity int, id *string, q *string, filter *TaskFilterType) int
		Tasks     func(childComplexity int, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) int
		User      func(childComplexity int, id *string, q *string, filter *UserFilterType) int
		Users     func(childComplexity int, offset *int, limit *int, q *string, sort []*UserSortType, filter *UserFilterType) int
		// contains filtered or unexported fields
	}

	Task struct {
		Assignee    func(childComplexity int) int
		AssigneeID  func(childComplexity int) int
		Completed   func(childComplexity int) int
		CreatedAt   func(childComplexity int) int
		CreatedBy   func(childComplexity int) int
		Description func(childComplexity int) int
		DueDate     func(childComplexity int) int
		ID          func(childComplexity int) int
		Title       func(childComplexity int) int
		Type        func(childComplexity int) int
		UpdatedAt   func(childComplexity int) int
		UpdatedBy   func(childComplexity int) int
	}

	TaskResultType struct {
		Count func(childComplexity int) int
		Items func(childComplexity int) int
	}

	User struct {
		Companies           func(childComplexity int) int
		CompaniesConnection func(childComplexity int, offset *int, limit *int, q *string, sort []*CompanySortType, filter *CompanyFilterType) int
		CompaniesIds        func(childComplexity int) int
		CreatedAt           func(childComplexity int) int
		CreatedBy           func(childComplexity int) int
		Email               func(childComplexity int) int
		FirstName           func(childComplexity int) int
		ID                  func(childComplexity int) int
		LastName            func(childComplexity int) int
		Tasks               func(childComplexity int) int
		TasksConnection     func(childComplexity int, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) int
		TasksIds            func(childComplexity int) int
		UpdatedAt           func(childComplexity int) int
		UpdatedBy           func(childComplexity int) int
	}

	UserResultType struct {
		Count func(childComplexity int) int
		Items func(childComplexity int) int
	}
	// contains filtered or unexported fields
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DB

type DB struct {
	// contains filtered or unexported fields
}

DB ...

func NewDB

func NewDB(db *gorm.DB) *DB

NewDB ...

func NewDBFromEnvVars

func NewDBFromEnvVars() *DB

NewDBFromEnvVars Create database client using DATABASE_URL environment variable

func NewDBWithString

func NewDBWithString(urlString string) *DB

NewDBWithString creates database instance with database URL string

func (*DB) AutoMigrate

func (db *DB) AutoMigrate() error

AutoMigrate run basic gorm automigration

func (*DB) Close

func (db *DB) Close() error

Close ...

func (*DB) Migrate

func (db *DB) Migrate(migrations []*gormigrate.Migration) error

Migrate run migrations using automigrate

func (*DB) Ping

func (db *DB) Ping() error

func (*DB) Query

func (db *DB) Query() *gorm.DB

Query ...

type DirectiveRoot

type DirectiveRoot struct {
}

type EntityFilter

type EntityFilter interface {
	Apply(ctx context.Context, dialect gorm.Dialect, wheres *[]string, whereValues *[]interface{}, havings *[]string, havingValues *[]interface{}, joins *[]string) error
}

type EntityFilterQuery

type EntityFilterQuery interface {
	Apply(ctx context.Context, dialect gorm.Dialect, selectionSet *ast.SelectionSet, wheres *[]string, values *[]interface{}, joins *[]string) error
}

type EntityResultType

type EntityResultType struct {
	Offset       *int
	Limit        *int
	Query        EntityFilterQuery
	Sort         []EntitySort
	Filter       EntityFilter
	Fields       []*ast.Field
	SelectionSet *ast.SelectionSet
}

func (*EntityResultType) GetCount

func (r *EntityResultType) GetCount(ctx context.Context, db *gorm.DB, opts GetItemsOptions, out interface{}) (count int, err error)

GetCount ...

func (*EntityResultType) GetItems

func (r *EntityResultType) GetItems(ctx context.Context, db *gorm.DB, opts GetItemsOptions, out interface{}) error

GetResultTypeItems ...

func (*EntityResultType) GetSortStrings

func (r *EntityResultType) GetSortStrings() []string

type EntitySort

type EntitySort interface {
	Apply(ctx context.Context, dialect gorm.Dialect, sorts *[]SortInfo, joins *[]string) error
}

type EventController

type EventController struct {
	// contains filtered or unexported fields
}

func NewEventController

func NewEventController() (ec EventController, err error)

func (*EventController) SendEvent

func (c *EventController) SendEvent(ctx context.Context, e *events.Event) (err error)

SendEvent ...

type GeneratedCompanyResolver

type GeneratedCompanyResolver struct{ *GeneratedResolver }

func (*GeneratedCompanyResolver) Employees

func (r *GeneratedCompanyResolver) Employees(ctx context.Context, obj *Company) (res []*User, err error)

func (*GeneratedCompanyResolver) EmployeesConnection

func (r *GeneratedCompanyResolver) EmployeesConnection(ctx context.Context, obj *Company, offset *int, limit *int, q *string, sort []*UserSortType, filter *UserFilterType) (res *UserResultType, err error)

func (*GeneratedCompanyResolver) EmployeesIds

func (r *GeneratedCompanyResolver) EmployeesIds(ctx context.Context, obj *Company) (ids []string, err error)

type GeneratedCompanyResultTypeResolver

type GeneratedCompanyResultTypeResolver struct{ *GeneratedResolver }

func (*GeneratedCompanyResultTypeResolver) Count

func (*GeneratedCompanyResultTypeResolver) Items

type GeneratedMutationResolver

type GeneratedMutationResolver struct{ *GeneratedResolver }

func (*GeneratedMutationResolver) CreateCompany

func (r *GeneratedMutationResolver) CreateCompany(ctx context.Context, input map[string]interface{}) (item *Company, err error)

func (*GeneratedMutationResolver) CreateTask

func (r *GeneratedMutationResolver) CreateTask(ctx context.Context, input map[string]interface{}) (item *Task, err error)

func (*GeneratedMutationResolver) CreateUser

func (r *GeneratedMutationResolver) CreateUser(ctx context.Context, input map[string]interface{}) (item *User, err error)

func (*GeneratedMutationResolver) DeleteAllCompanies

func (r *GeneratedMutationResolver) DeleteAllCompanies(ctx context.Context) (bool, error)

func (*GeneratedMutationResolver) DeleteAllTasks

func (r *GeneratedMutationResolver) DeleteAllTasks(ctx context.Context) (bool, error)

func (*GeneratedMutationResolver) DeleteAllUsers

func (r *GeneratedMutationResolver) DeleteAllUsers(ctx context.Context) (bool, error)

func (*GeneratedMutationResolver) DeleteCompany

func (r *GeneratedMutationResolver) DeleteCompany(ctx context.Context, id string) (item *Company, err error)

func (*GeneratedMutationResolver) DeleteTask

func (r *GeneratedMutationResolver) DeleteTask(ctx context.Context, id string) (item *Task, err error)

func (*GeneratedMutationResolver) DeleteUser

func (r *GeneratedMutationResolver) DeleteUser(ctx context.Context, id string) (item *User, err error)

func (*GeneratedMutationResolver) UpdateCompany

func (r *GeneratedMutationResolver) UpdateCompany(ctx context.Context, id string, input map[string]interface{}) (item *Company, err error)

func (*GeneratedMutationResolver) UpdateTask

func (r *GeneratedMutationResolver) UpdateTask(ctx context.Context, id string, input map[string]interface{}) (item *Task, err error)

func (*GeneratedMutationResolver) UpdateUser

func (r *GeneratedMutationResolver) UpdateUser(ctx context.Context, id string, input map[string]interface{}) (item *User, err error)

type GeneratedQueryResolver

type GeneratedQueryResolver struct{ *GeneratedResolver }

func (*GeneratedQueryResolver) Companies

func (r *GeneratedQueryResolver) Companies(ctx context.Context, offset *int, limit *int, q *string, sort []*CompanySortType, filter *CompanyFilterType) (*CompanyResultType, error)

func (*GeneratedQueryResolver) Company

func (r *GeneratedQueryResolver) Company(ctx context.Context, id *string, q *string, filter *CompanyFilterType) (*Company, error)

func (*GeneratedQueryResolver) Task

func (r *GeneratedQueryResolver) Task(ctx context.Context, id *string, q *string, filter *TaskFilterType) (*Task, error)

func (*GeneratedQueryResolver) Tasks

func (r *GeneratedQueryResolver) Tasks(ctx context.Context, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) (*TaskResultType, error)

func (*GeneratedQueryResolver) User

func (r *GeneratedQueryResolver) User(ctx context.Context, id *string, q *string, filter *UserFilterType) (*User, error)

func (*GeneratedQueryResolver) Users

func (r *GeneratedQueryResolver) Users(ctx context.Context, offset *int, limit *int, q *string, sort []*UserSortType, filter *UserFilterType) (*UserResultType, error)

type GeneratedResolver

type GeneratedResolver struct {
	Handlers        ResolutionHandlers
	DB              *DB
	EventController *EventController
}

func (*GeneratedResolver) GetDB

func (r *GeneratedResolver) GetDB(ctx context.Context) *gorm.DB

GetDB returns database connection or transaction for given context (if exists)

type GeneratedTaskResolver

type GeneratedTaskResolver struct{ *GeneratedResolver }

func (*GeneratedTaskResolver) Assignee

func (r *GeneratedTaskResolver) Assignee(ctx context.Context, obj *Task) (res *User, err error)

type GeneratedTaskResultTypeResolver

type GeneratedTaskResultTypeResolver struct{ *GeneratedResolver }

func (*GeneratedTaskResultTypeResolver) Count

func (r *GeneratedTaskResultTypeResolver) Count(ctx context.Context, obj *TaskResultType) (count int, err error)

func (*GeneratedTaskResultTypeResolver) Items

func (r *GeneratedTaskResultTypeResolver) Items(ctx context.Context, obj *TaskResultType) (items []*Task, err error)

type GeneratedUserResolver

type GeneratedUserResolver struct{ *GeneratedResolver }

func (*GeneratedUserResolver) Companies

func (r *GeneratedUserResolver) Companies(ctx context.Context, obj *User) (res []*Company, err error)

func (*GeneratedUserResolver) CompaniesConnection

func (r *GeneratedUserResolver) CompaniesConnection(ctx context.Context, obj *User, offset *int, limit *int, q *string, sort []*CompanySortType, filter *CompanyFilterType) (res *CompanyResultType, err error)

func (*GeneratedUserResolver) CompaniesIds

func (r *GeneratedUserResolver) CompaniesIds(ctx context.Context, obj *User) (ids []string, err error)

func (*GeneratedUserResolver) Tasks

func (r *GeneratedUserResolver) Tasks(ctx context.Context, obj *User) (res []*Task, err error)

func (*GeneratedUserResolver) TasksConnection

func (r *GeneratedUserResolver) TasksConnection(ctx context.Context, obj *User, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) (res *TaskResultType, err error)

func (*GeneratedUserResolver) TasksIds

func (r *GeneratedUserResolver) TasksIds(ctx context.Context, obj *User) (ids []string, err error)

type GeneratedUserResultTypeResolver

type GeneratedUserResultTypeResolver struct{ *GeneratedResolver }

func (*GeneratedUserResultTypeResolver) Count

func (r *GeneratedUserResultTypeResolver) Count(ctx context.Context, obj *UserResultType) (count int, err error)

func (*GeneratedUserResultTypeResolver) Items

func (r *GeneratedUserResultTypeResolver) Items(ctx context.Context, obj *UserResultType) (items []*User, err error)

type GetItemsOptions

type GetItemsOptions struct {
	Alias      string
	Preloaders []string
}

type JWTClaims

type JWTClaims struct {
	jwtgo.StandardClaims
	Scope *string
}

func GetJWTClaimsFromContext

func GetJWTClaimsFromContext(ctx context.Context) *JWTClaims

func (*JWTClaims) HasScope

func (c *JWTClaims) HasScope(scope string) bool

func (*JWTClaims) Scopes

func (c *JWTClaims) Scopes() []string

type MutationEvents

type MutationEvents struct {
	Events []events.Event
}

func GetMutationEventStore

func GetMutationEventStore(ctx context.Context) *MutationEvents

type MutationResolver

type MutationResolver interface {
	CreateCompany(ctx context.Context, input map[string]interface{}) (*Company, error)
	UpdateCompany(ctx context.Context, id string, input map[string]interface{}) (*Company, error)
	DeleteCompany(ctx context.Context, id string) (*Company, error)
	DeleteAllCompanies(ctx context.Context) (bool, error)
	CreateUser(ctx context.Context, input map[string]interface{}) (*User, error)
	UpdateUser(ctx context.Context, id string, input map[string]interface{}) (*User, error)
	DeleteUser(ctx context.Context, id string) (*User, error)
	DeleteAllUsers(ctx context.Context) (bool, error)
	CreateTask(ctx context.Context, input map[string]interface{}) (*Task, error)
	UpdateTask(ctx context.Context, id string, input map[string]interface{}) (*Task, error)
	DeleteTask(ctx context.Context, id string) (*Task, error)
	DeleteAllTasks(ctx context.Context) (bool, error)
}

type ObjectSortType

type ObjectSortType string
const (
	ObjectSortTypeAsc  ObjectSortType = "ASC"
	ObjectSortTypeDesc ObjectSortType = "DESC"
)

func (ObjectSortType) IsValid

func (e ObjectSortType) IsValid() bool

func (ObjectSortType) MarshalGQL

func (e ObjectSortType) MarshalGQL(w io.Writer)

func (ObjectSortType) String

func (e ObjectSortType) String() string

func (*ObjectSortType) UnmarshalGQL

func (e *ObjectSortType) UnmarshalGQL(v interface{}) error

type QueryCompaniesHandlerOptions

type QueryCompaniesHandlerOptions struct {
	Offset *int
	Limit  *int
	Q      *string
	Sort   []*CompanySortType
	Filter *CompanyFilterType
}

type QueryCompanyHandlerOptions

type QueryCompanyHandlerOptions struct {
	ID     *string
	Q      *string
	Filter *CompanyFilterType
}

type QueryResolver

type QueryResolver interface {
	Company(ctx context.Context, id *string, q *string, filter *CompanyFilterType) (*Company, error)
	Companies(ctx context.Context, offset *int, limit *int, q *string, sort []*CompanySortType, filter *CompanyFilterType) (*CompanyResultType, error)
	User(ctx context.Context, id *string, q *string, filter *UserFilterType) (*User, error)
	Users(ctx context.Context, offset *int, limit *int, q *string, sort []*UserSortType, filter *UserFilterType) (*UserResultType, error)
	Task(ctx context.Context, id *string, q *string, filter *TaskFilterType) (*Task, error)
	Tasks(ctx context.Context, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) (*TaskResultType, error)
	Hello(ctx context.Context) (string, error)
	// contains filtered or unexported methods
}

type QueryTaskHandlerOptions

type QueryTaskHandlerOptions struct {
	ID     *string
	Q      *string
	Filter *TaskFilterType
}

type QueryTasksHandlerOptions

type QueryTasksHandlerOptions struct {
	Offset *int
	Limit  *int
	Q      *string
	Sort   []*TaskSortType
	Filter *TaskFilterType
}

type QueryUserHandlerOptions

type QueryUserHandlerOptions struct {
	ID     *string
	Q      *string
	Filter *UserFilterType
}

type QueryUsersHandlerOptions

type QueryUsersHandlerOptions struct {
	Offset *int
	Limit  *int
	Q      *string
	Sort   []*UserSortType
	Filter *UserFilterType
}

type ResolutionHandlers

type ResolutionHandlers struct {
	OnEvent func(ctx context.Context, r *GeneratedResolver, e *events.Event) error

	CreateCompany      func(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *Company, err error)
	UpdateCompany      func(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *Company, err error)
	DeleteCompany      func(ctx context.Context, r *GeneratedResolver, id string) (item *Company, err error)
	DeleteAllCompanies func(ctx context.Context, r *GeneratedResolver) (bool, error)
	QueryCompany       func(ctx context.Context, r *GeneratedResolver, opts QueryCompanyHandlerOptions) (*Company, error)
	QueryCompanies     func(ctx context.Context, r *GeneratedResolver, opts QueryCompaniesHandlerOptions) (*CompanyResultType, error)

	CompanyEmployees func(ctx context.Context, r *GeneratedResolver, obj *Company) (res []*User, err error)

	CreateUser     func(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *User, err error)
	UpdateUser     func(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *User, err error)
	DeleteUser     func(ctx context.Context, r *GeneratedResolver, id string) (item *User, err error)
	DeleteAllUsers func(ctx context.Context, r *GeneratedResolver) (bool, error)
	QueryUser      func(ctx context.Context, r *GeneratedResolver, opts QueryUserHandlerOptions) (*User, error)
	QueryUsers     func(ctx context.Context, r *GeneratedResolver, opts QueryUsersHandlerOptions) (*UserResultType, error)

	UserTasks func(ctx context.Context, r *GeneratedResolver, obj *User) (res []*Task, err error)

	UserCompanies func(ctx context.Context, r *GeneratedResolver, obj *User) (res []*Company, err error)

	CreateTask     func(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *Task, err error)
	UpdateTask     func(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *Task, err error)
	DeleteTask     func(ctx context.Context, r *GeneratedResolver, id string) (item *Task, err error)
	DeleteAllTasks func(ctx context.Context, r *GeneratedResolver) (bool, error)
	QueryTask      func(ctx context.Context, r *GeneratedResolver, opts QueryTaskHandlerOptions) (*Task, error)
	QueryTasks     func(ctx context.Context, r *GeneratedResolver, opts QueryTasksHandlerOptions) (*TaskResultType, error)

	TaskAssignee func(ctx context.Context, r *GeneratedResolver, obj *Task) (res *User, err error)
}

func DefaultResolutionHandlers

func DefaultResolutionHandlers() ResolutionHandlers

type ResolverRoot

type ResolverRoot interface {
	Company() CompanyResolver
	CompanyResultType() CompanyResultTypeResolver
	Mutation() MutationResolver
	Query() QueryResolver
	Task() TaskResolver
	TaskResultType() TaskResultTypeResolver
	User() UserResolver
	UserResultType() UserResultTypeResolver
}

type SortInfo

type SortInfo struct {
	Field         string
	Direction     string
	IsAggregation bool
}

func (*SortInfo) String

func (si *SortInfo) String() string

type Task

type Task struct {
	ID          string     `json:"id" gorm:"column:id;primary_key"`
	Title       *string    `json:"title" gorm:"column:title"`
	Completed   *bool      `json:"completed" gorm:"column:completed"`
	DueDate     *time.Time `json:"dueDate" gorm:"column:dueDate"`
	Type        *TaskType  `json:"type" gorm:"column:type"`
	Description *string    `json:"description" gorm:"column:description;type:text"`
	AssigneeID  *string    `json:"assigneeId" gorm:"column:assigneeId"`
	UpdatedAt   *time.Time `json:"updatedAt" gorm:"column:updatedAt"`
	CreatedAt   time.Time  `json:"createdAt" gorm:"column:createdAt"`
	UpdatedBy   *string    `json:"updatedBy" gorm:"column:updatedBy"`
	CreatedBy   *string    `json:"createdBy" gorm:"column:createdBy"`

	Assignee *User `json:"assignee"`
}

func CreateTaskHandler

func CreateTaskHandler(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *Task, err error)

func DeleteTaskHandler

func DeleteTaskHandler(ctx context.Context, r *GeneratedResolver, id string) (item *Task, err error)

func QueryTaskHandler

func QueryTaskHandler(ctx context.Context, r *GeneratedResolver, opts QueryTaskHandlerOptions) (*Task, error)

func UpdateTaskHandler

func UpdateTaskHandler(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *Task, err error)

func UserTasksHandler

func UserTasksHandler(ctx context.Context, r *GeneratedResolver, obj *User) (res []*Task, err error)

func (*Task) Is_Entity

func (m *Task) Is_Entity()

type TaskChanges

type TaskChanges struct {
	ID          string
	Title       *string
	Completed   *bool
	DueDate     *time.Time
	Type        *TaskType
	Description *string
	AssigneeID  *string
	UpdatedAt   *time.Time
	CreatedAt   time.Time
	UpdatedBy   *string
	CreatedBy   *string
}

type TaskFilterType

type TaskFilterType struct {
	And                  []*TaskFilterType `json:"AND"`
	Or                   []*TaskFilterType `json:"OR"`
	ID                   *string           `json:"id"`
	IDMin                *string           `json:"idMin"`
	IDMax                *string           `json:"idMax"`
	IDNe                 *string           `json:"id_ne"`
	IDMinNe              *string           `json:"idMin_ne"`
	IDMaxNe              *string           `json:"idMax_ne"`
	IDGt                 *string           `json:"id_gt"`
	IDMinGt              *string           `json:"idMin_gt"`
	IDMaxGt              *string           `json:"idMax_gt"`
	IDLt                 *string           `json:"id_lt"`
	IDMinLt              *string           `json:"idMin_lt"`
	IDMaxLt              *string           `json:"idMax_lt"`
	IDGte                *string           `json:"id_gte"`
	IDMinGte             *string           `json:"idMin_gte"`
	IDMaxGte             *string           `json:"idMax_gte"`
	IDLte                *string           `json:"id_lte"`
	IDMinLte             *string           `json:"idMin_lte"`
	IDMaxLte             *string           `json:"idMax_lte"`
	IDIn                 []string          `json:"id_in"`
	IDMinIn              []string          `json:"idMin_in"`
	IDMaxIn              []string          `json:"idMax_in"`
	IDNull               *bool             `json:"id_null"`
	Title                *string           `json:"title"`
	TitleMin             *string           `json:"titleMin"`
	TitleMax             *string           `json:"titleMax"`
	TitleNe              *string           `json:"title_ne"`
	TitleMinNe           *string           `json:"titleMin_ne"`
	TitleMaxNe           *string           `json:"titleMax_ne"`
	TitleGt              *string           `json:"title_gt"`
	TitleMinGt           *string           `json:"titleMin_gt"`
	TitleMaxGt           *string           `json:"titleMax_gt"`
	TitleLt              *string           `json:"title_lt"`
	TitleMinLt           *string           `json:"titleMin_lt"`
	TitleMaxLt           *string           `json:"titleMax_lt"`
	TitleGte             *string           `json:"title_gte"`
	TitleMinGte          *string           `json:"titleMin_gte"`
	TitleMaxGte          *string           `json:"titleMax_gte"`
	TitleLte             *string           `json:"title_lte"`
	TitleMinLte          *string           `json:"titleMin_lte"`
	TitleMaxLte          *string           `json:"titleMax_lte"`
	TitleIn              []string          `json:"title_in"`
	TitleMinIn           []string          `json:"titleMin_in"`
	TitleMaxIn           []string          `json:"titleMax_in"`
	TitleLike            *string           `json:"title_like"`
	TitleMinLike         *string           `json:"titleMin_like"`
	TitleMaxLike         *string           `json:"titleMax_like"`
	TitlePrefix          *string           `json:"title_prefix"`
	TitleMinPrefix       *string           `json:"titleMin_prefix"`
	TitleMaxPrefix       *string           `json:"titleMax_prefix"`
	TitleSuffix          *string           `json:"title_suffix"`
	TitleMinSuffix       *string           `json:"titleMin_suffix"`
	TitleMaxSuffix       *string           `json:"titleMax_suffix"`
	TitleNull            *bool             `json:"title_null"`
	Completed            *bool             `json:"completed"`
	CompletedMin         *bool             `json:"completedMin"`
	CompletedMax         *bool             `json:"completedMax"`
	CompletedNe          *bool             `json:"completed_ne"`
	CompletedMinNe       *bool             `json:"completedMin_ne"`
	CompletedMaxNe       *bool             `json:"completedMax_ne"`
	CompletedGt          *bool             `json:"completed_gt"`
	CompletedMinGt       *bool             `json:"completedMin_gt"`
	CompletedMaxGt       *bool             `json:"completedMax_gt"`
	CompletedLt          *bool             `json:"completed_lt"`
	CompletedMinLt       *bool             `json:"completedMin_lt"`
	CompletedMaxLt       *bool             `json:"completedMax_lt"`
	CompletedGte         *bool             `json:"completed_gte"`
	CompletedMinGte      *bool             `json:"completedMin_gte"`
	CompletedMaxGte      *bool             `json:"completedMax_gte"`
	CompletedLte         *bool             `json:"completed_lte"`
	CompletedMinLte      *bool             `json:"completedMin_lte"`
	CompletedMaxLte      *bool             `json:"completedMax_lte"`
	CompletedIn          []bool            `json:"completed_in"`
	CompletedMinIn       []bool            `json:"completedMin_in"`
	CompletedMaxIn       []bool            `json:"completedMax_in"`
	CompletedNull        *bool             `json:"completed_null"`
	DueDate              *time.Time        `json:"dueDate"`
	DueDateMin           *time.Time        `json:"dueDateMin"`
	DueDateMax           *time.Time        `json:"dueDateMax"`
	DueDateNe            *time.Time        `json:"dueDate_ne"`
	DueDateMinNe         *time.Time        `json:"dueDateMin_ne"`
	DueDateMaxNe         *time.Time        `json:"dueDateMax_ne"`
	DueDateGt            *time.Time        `json:"dueDate_gt"`
	DueDateMinGt         *time.Time        `json:"dueDateMin_gt"`
	DueDateMaxGt         *time.Time        `json:"dueDateMax_gt"`
	DueDateLt            *time.Time        `json:"dueDate_lt"`
	DueDateMinLt         *time.Time        `json:"dueDateMin_lt"`
	DueDateMaxLt         *time.Time        `json:"dueDateMax_lt"`
	DueDateGte           *time.Time        `json:"dueDate_gte"`
	DueDateMinGte        *time.Time        `json:"dueDateMin_gte"`
	DueDateMaxGte        *time.Time        `json:"dueDateMax_gte"`
	DueDateLte           *time.Time        `json:"dueDate_lte"`
	DueDateMinLte        *time.Time        `json:"dueDateMin_lte"`
	DueDateMaxLte        *time.Time        `json:"dueDateMax_lte"`
	DueDateIn            []*time.Time      `json:"dueDate_in"`
	DueDateMinIn         []*time.Time      `json:"dueDateMin_in"`
	DueDateMaxIn         []*time.Time      `json:"dueDateMax_in"`
	DueDateNull          *bool             `json:"dueDate_null"`
	Type                 *TaskType         `json:"type"`
	TypeMin              *TaskType         `json:"typeMin"`
	TypeMax              *TaskType         `json:"typeMax"`
	TypeNe               *TaskType         `json:"type_ne"`
	TypeMinNe            *TaskType         `json:"typeMin_ne"`
	TypeMaxNe            *TaskType         `json:"typeMax_ne"`
	TypeGt               *TaskType         `json:"type_gt"`
	TypeMinGt            *TaskType         `json:"typeMin_gt"`
	TypeMaxGt            *TaskType         `json:"typeMax_gt"`
	TypeLt               *TaskType         `json:"type_lt"`
	TypeMinLt            *TaskType         `json:"typeMin_lt"`
	TypeMaxLt            *TaskType         `json:"typeMax_lt"`
	TypeGte              *TaskType         `json:"type_gte"`
	TypeMinGte           *TaskType         `json:"typeMin_gte"`
	TypeMaxGte           *TaskType         `json:"typeMax_gte"`
	TypeLte              *TaskType         `json:"type_lte"`
	TypeMinLte           *TaskType         `json:"typeMin_lte"`
	TypeMaxLte           *TaskType         `json:"typeMax_lte"`
	TypeIn               []TaskType        `json:"type_in"`
	TypeMinIn            []TaskType        `json:"typeMin_in"`
	TypeMaxIn            []TaskType        `json:"typeMax_in"`
	TypeNull             *bool             `json:"type_null"`
	Description          *string           `json:"description"`
	DescriptionMin       *string           `json:"descriptionMin"`
	DescriptionMax       *string           `json:"descriptionMax"`
	DescriptionNe        *string           `json:"description_ne"`
	DescriptionMinNe     *string           `json:"descriptionMin_ne"`
	DescriptionMaxNe     *string           `json:"descriptionMax_ne"`
	DescriptionGt        *string           `json:"description_gt"`
	DescriptionMinGt     *string           `json:"descriptionMin_gt"`
	DescriptionMaxGt     *string           `json:"descriptionMax_gt"`
	DescriptionLt        *string           `json:"description_lt"`
	DescriptionMinLt     *string           `json:"descriptionMin_lt"`
	DescriptionMaxLt     *string           `json:"descriptionMax_lt"`
	DescriptionGte       *string           `json:"description_gte"`
	DescriptionMinGte    *string           `json:"descriptionMin_gte"`
	DescriptionMaxGte    *string           `json:"descriptionMax_gte"`
	DescriptionLte       *string           `json:"description_lte"`
	DescriptionMinLte    *string           `json:"descriptionMin_lte"`
	DescriptionMaxLte    *string           `json:"descriptionMax_lte"`
	DescriptionIn        []string          `json:"description_in"`
	DescriptionMinIn     []string          `json:"descriptionMin_in"`
	DescriptionMaxIn     []string          `json:"descriptionMax_in"`
	DescriptionLike      *string           `json:"description_like"`
	DescriptionMinLike   *string           `json:"descriptionMin_like"`
	DescriptionMaxLike   *string           `json:"descriptionMax_like"`
	DescriptionPrefix    *string           `json:"description_prefix"`
	DescriptionMinPrefix *string           `json:"descriptionMin_prefix"`
	DescriptionMaxPrefix *string           `json:"descriptionMax_prefix"`
	DescriptionSuffix    *string           `json:"description_suffix"`
	DescriptionMinSuffix *string           `json:"descriptionMin_suffix"`
	DescriptionMaxSuffix *string           `json:"descriptionMax_suffix"`
	DescriptionNull      *bool             `json:"description_null"`
	AssigneeID           *string           `json:"assigneeId"`
	AssigneeIDMin        *string           `json:"assigneeIdMin"`
	AssigneeIDMax        *string           `json:"assigneeIdMax"`
	AssigneeIDNe         *string           `json:"assigneeId_ne"`
	AssigneeIDMinNe      *string           `json:"assigneeIdMin_ne"`
	AssigneeIDMaxNe      *string           `json:"assigneeIdMax_ne"`
	AssigneeIDGt         *string           `json:"assigneeId_gt"`
	AssigneeIDMinGt      *string           `json:"assigneeIdMin_gt"`
	AssigneeIDMaxGt      *string           `json:"assigneeIdMax_gt"`
	AssigneeIDLt         *string           `json:"assigneeId_lt"`
	AssigneeIDMinLt      *string           `json:"assigneeIdMin_lt"`
	AssigneeIDMaxLt      *string           `json:"assigneeIdMax_lt"`
	AssigneeIDGte        *string           `json:"assigneeId_gte"`
	AssigneeIDMinGte     *string           `json:"assigneeIdMin_gte"`
	AssigneeIDMaxGte     *string           `json:"assigneeIdMax_gte"`
	AssigneeIDLte        *string           `json:"assigneeId_lte"`
	AssigneeIDMinLte     *string           `json:"assigneeIdMin_lte"`
	AssigneeIDMaxLte     *string           `json:"assigneeIdMax_lte"`
	AssigneeIDIn         []string          `json:"assigneeId_in"`
	AssigneeIDMinIn      []string          `json:"assigneeIdMin_in"`
	AssigneeIDMaxIn      []string          `json:"assigneeIdMax_in"`
	AssigneeIDNull       *bool             `json:"assigneeId_null"`
	UpdatedAt            *time.Time        `json:"updatedAt"`
	UpdatedAtMin         *time.Time        `json:"updatedAtMin"`
	UpdatedAtMax         *time.Time        `json:"updatedAtMax"`
	UpdatedAtNe          *time.Time        `json:"updatedAt_ne"`
	UpdatedAtMinNe       *time.Time        `json:"updatedAtMin_ne"`
	UpdatedAtMaxNe       *time.Time        `json:"updatedAtMax_ne"`
	UpdatedAtGt          *time.Time        `json:"updatedAt_gt"`
	UpdatedAtMinGt       *time.Time        `json:"updatedAtMin_gt"`
	UpdatedAtMaxGt       *time.Time        `json:"updatedAtMax_gt"`
	UpdatedAtLt          *time.Time        `json:"updatedAt_lt"`
	UpdatedAtMinLt       *time.Time        `json:"updatedAtMin_lt"`
	UpdatedAtMaxLt       *time.Time        `json:"updatedAtMax_lt"`
	UpdatedAtGte         *time.Time        `json:"updatedAt_gte"`
	UpdatedAtMinGte      *time.Time        `json:"updatedAtMin_gte"`
	UpdatedAtMaxGte      *time.Time        `json:"updatedAtMax_gte"`
	UpdatedAtLte         *time.Time        `json:"updatedAt_lte"`
	UpdatedAtMinLte      *time.Time        `json:"updatedAtMin_lte"`
	UpdatedAtMaxLte      *time.Time        `json:"updatedAtMax_lte"`
	UpdatedAtIn          []*time.Time      `json:"updatedAt_in"`
	UpdatedAtMinIn       []*time.Time      `json:"updatedAtMin_in"`
	UpdatedAtMaxIn       []*time.Time      `json:"updatedAtMax_in"`
	UpdatedAtNull        *bool             `json:"updatedAt_null"`
	CreatedAt            *time.Time        `json:"createdAt"`
	CreatedAtMin         *time.Time        `json:"createdAtMin"`
	CreatedAtMax         *time.Time        `json:"createdAtMax"`
	CreatedAtNe          *time.Time        `json:"createdAt_ne"`
	CreatedAtMinNe       *time.Time        `json:"createdAtMin_ne"`
	CreatedAtMaxNe       *time.Time        `json:"createdAtMax_ne"`
	CreatedAtGt          *time.Time        `json:"createdAt_gt"`
	CreatedAtMinGt       *time.Time        `json:"createdAtMin_gt"`
	CreatedAtMaxGt       *time.Time        `json:"createdAtMax_gt"`
	CreatedAtLt          *time.Time        `json:"createdAt_lt"`
	CreatedAtMinLt       *time.Time        `json:"createdAtMin_lt"`
	CreatedAtMaxLt       *time.Time        `json:"createdAtMax_lt"`
	CreatedAtGte         *time.Time        `json:"createdAt_gte"`
	CreatedAtMinGte      *time.Time        `json:"createdAtMin_gte"`
	CreatedAtMaxGte      *time.Time        `json:"createdAtMax_gte"`
	CreatedAtLte         *time.Time        `json:"createdAt_lte"`
	CreatedAtMinLte      *time.Time        `json:"createdAtMin_lte"`
	CreatedAtMaxLte      *time.Time        `json:"createdAtMax_lte"`
	CreatedAtIn          []*time.Time      `json:"createdAt_in"`
	CreatedAtMinIn       []*time.Time      `json:"createdAtMin_in"`
	CreatedAtMaxIn       []*time.Time      `json:"createdAtMax_in"`
	CreatedAtNull        *bool             `json:"createdAt_null"`
	UpdatedBy            *string           `json:"updatedBy"`
	UpdatedByMin         *string           `json:"updatedByMin"`
	UpdatedByMax         *string           `json:"updatedByMax"`
	UpdatedByNe          *string           `json:"updatedBy_ne"`
	UpdatedByMinNe       *string           `json:"updatedByMin_ne"`
	UpdatedByMaxNe       *string           `json:"updatedByMax_ne"`
	UpdatedByGt          *string           `json:"updatedBy_gt"`
	UpdatedByMinGt       *string           `json:"updatedByMin_gt"`
	UpdatedByMaxGt       *string           `json:"updatedByMax_gt"`
	UpdatedByLt          *string           `json:"updatedBy_lt"`
	UpdatedByMinLt       *string           `json:"updatedByMin_lt"`
	UpdatedByMaxLt       *string           `json:"updatedByMax_lt"`
	UpdatedByGte         *string           `json:"updatedBy_gte"`
	UpdatedByMinGte      *string           `json:"updatedByMin_gte"`
	UpdatedByMaxGte      *string           `json:"updatedByMax_gte"`
	UpdatedByLte         *string           `json:"updatedBy_lte"`
	UpdatedByMinLte      *string           `json:"updatedByMin_lte"`
	UpdatedByMaxLte      *string           `json:"updatedByMax_lte"`
	UpdatedByIn          []string          `json:"updatedBy_in"`
	UpdatedByMinIn       []string          `json:"updatedByMin_in"`
	UpdatedByMaxIn       []string          `json:"updatedByMax_in"`
	UpdatedByNull        *bool             `json:"updatedBy_null"`
	CreatedBy            *string           `json:"createdBy"`
	CreatedByMin         *string           `json:"createdByMin"`
	CreatedByMax         *string           `json:"createdByMax"`
	CreatedByNe          *string           `json:"createdBy_ne"`
	CreatedByMinNe       *string           `json:"createdByMin_ne"`
	CreatedByMaxNe       *string           `json:"createdByMax_ne"`
	CreatedByGt          *string           `json:"createdBy_gt"`
	CreatedByMinGt       *string           `json:"createdByMin_gt"`
	CreatedByMaxGt       *string           `json:"createdByMax_gt"`
	CreatedByLt          *string           `json:"createdBy_lt"`
	CreatedByMinLt       *string           `json:"createdByMin_lt"`
	CreatedByMaxLt       *string           `json:"createdByMax_lt"`
	CreatedByGte         *string           `json:"createdBy_gte"`
	CreatedByMinGte      *string           `json:"createdByMin_gte"`
	CreatedByMaxGte      *string           `json:"createdByMax_gte"`
	CreatedByLte         *string           `json:"createdBy_lte"`
	CreatedByMinLte      *string           `json:"createdByMin_lte"`
	CreatedByMaxLte      *string           `json:"createdByMax_lte"`
	CreatedByIn          []string          `json:"createdBy_in"`
	CreatedByMinIn       []string          `json:"createdByMin_in"`
	CreatedByMaxIn       []string          `json:"createdByMax_in"`
	CreatedByNull        *bool             `json:"createdBy_null"`
	Assignee             *UserFilterType   `json:"assignee"`
}

func (*TaskFilterType) AndWith

func (f *TaskFilterType) AndWith(f2 ...*TaskFilterType) *TaskFilterType

AndWith convenience method for combining two or more filters with AND statement

func (*TaskFilterType) Apply

func (f *TaskFilterType) Apply(ctx context.Context, dialect gorm.Dialect, wheres *[]string, whereValues *[]interface{}, havings *[]string, havingValues *[]interface{}, joins *[]string) error

func (*TaskFilterType) ApplyWithAlias

func (f *TaskFilterType) ApplyWithAlias(ctx context.Context, dialect gorm.Dialect, alias string, wheres *[]string, whereValues *[]interface{}, havings *[]string, havingValues *[]interface{}, joins *[]string) error

func (*TaskFilterType) HavingContent

func (f *TaskFilterType) HavingContent(dialect gorm.Dialect, aliasPrefix string) (conditions []string, values []interface{})

func (*TaskFilterType) IsEmpty

func (f *TaskFilterType) IsEmpty(ctx context.Context, dialect gorm.Dialect) bool

func (*TaskFilterType) OrWith

func (f *TaskFilterType) OrWith(f2 ...*TaskFilterType) *TaskFilterType

OrWith convenience method for combining two or more filters with OR statement

func (*TaskFilterType) WhereContent

func (f *TaskFilterType) WhereContent(dialect gorm.Dialect, aliasPrefix string) (conditions []string, values []interface{})

type TaskQueryFilter

type TaskQueryFilter struct {
	Query *string
}

func (*TaskQueryFilter) Apply

func (qf *TaskQueryFilter) Apply(ctx context.Context, dialect gorm.Dialect, selectionSet *ast.SelectionSet, wheres *[]string, values *[]interface{}, joins *[]string) error

type TaskResolver

type TaskResolver interface {
	Assignee(ctx context.Context, obj *Task) (*User, error)
}

type TaskResultType

type TaskResultType struct {
	EntityResultType
}

type TaskResultTypeResolver

type TaskResultTypeResolver interface {
	Items(ctx context.Context, obj *TaskResultType) ([]*Task, error)
	Count(ctx context.Context, obj *TaskResultType) (int, error)
}

type TaskSortType

type TaskSortType struct {
	ID             *ObjectSortType `json:"id"`
	IDMin          *ObjectSortType `json:"idMin"`
	IDMax          *ObjectSortType `json:"idMax"`
	Title          *ObjectSortType `json:"title"`
	TitleMin       *ObjectSortType `json:"titleMin"`
	TitleMax       *ObjectSortType `json:"titleMax"`
	Completed      *ObjectSortType `json:"completed"`
	CompletedMin   *ObjectSortType `json:"completedMin"`
	CompletedMax   *ObjectSortType `json:"completedMax"`
	DueDate        *ObjectSortType `json:"dueDate"`
	DueDateMin     *ObjectSortType `json:"dueDateMin"`
	DueDateMax     *ObjectSortType `json:"dueDateMax"`
	Type           *ObjectSortType `json:"type"`
	TypeMin        *ObjectSortType `json:"typeMin"`
	TypeMax        *ObjectSortType `json:"typeMax"`
	Description    *ObjectSortType `json:"description"`
	DescriptionMin *ObjectSortType `json:"descriptionMin"`
	DescriptionMax *ObjectSortType `json:"descriptionMax"`
	AssigneeID     *ObjectSortType `json:"assigneeId"`
	AssigneeIDMin  *ObjectSortType `json:"assigneeIdMin"`
	AssigneeIDMax  *ObjectSortType `json:"assigneeIdMax"`
	UpdatedAt      *ObjectSortType `json:"updatedAt"`
	UpdatedAtMin   *ObjectSortType `json:"updatedAtMin"`
	UpdatedAtMax   *ObjectSortType `json:"updatedAtMax"`
	CreatedAt      *ObjectSortType `json:"createdAt"`
	CreatedAtMin   *ObjectSortType `json:"createdAtMin"`
	CreatedAtMax   *ObjectSortType `json:"createdAtMax"`
	UpdatedBy      *ObjectSortType `json:"updatedBy"`
	UpdatedByMin   *ObjectSortType `json:"updatedByMin"`
	UpdatedByMax   *ObjectSortType `json:"updatedByMax"`
	CreatedBy      *ObjectSortType `json:"createdBy"`
	CreatedByMin   *ObjectSortType `json:"createdByMin"`
	CreatedByMax   *ObjectSortType `json:"createdByMax"`
	Assignee       *UserSortType   `json:"assignee"`
}

func (TaskSortType) Apply

func (s TaskSortType) Apply(ctx context.Context, dialect gorm.Dialect, sorts *[]SortInfo, joins *[]string) error

func (TaskSortType) ApplyWithAlias

func (s TaskSortType) ApplyWithAlias(ctx context.Context, dialect gorm.Dialect, alias string, sorts *[]SortInfo, joins *[]string) error

type TaskType

type TaskType string
const (
	TaskTypeBug  TaskType = "BUG"
	TaskTypeTask TaskType = "TASK"
)

func (TaskType) IsValid

func (e TaskType) IsValid() bool

func (TaskType) MarshalGQL

func (e TaskType) MarshalGQL(w io.Writer)

func (TaskType) String

func (e TaskType) String() string

func (*TaskType) UnmarshalGQL

func (e *TaskType) UnmarshalGQL(v interface{}) error

type User

type User struct {
	ID        string     `json:"id" gorm:"column:id;primary_key"`
	Email     *string    `json:"email" gorm:"column:email"`
	FirstName *string    `json:"firstName" gorm:"column:firstName"`
	LastName  *string    `json:"lastName" gorm:"column:lastName"`
	UpdatedAt *time.Time `json:"updatedAt" gorm:"column:updatedAt"`
	CreatedAt time.Time  `json:"createdAt" gorm:"column:createdAt"`
	UpdatedBy *string    `json:"updatedBy" gorm:"column:updatedBy"`
	CreatedBy *string    `json:"createdBy" gorm:"column:createdBy"`

	Tasks []*Task `json:"tasks" gorm:"foreignkey:AssigneeID"`

	Companies []*Company `` /* 128-byte string literal not displayed */
}

func CompanyEmployeesHandler

func CompanyEmployeesHandler(ctx context.Context, r *GeneratedResolver, obj *Company) (res []*User, err error)

func CreateUserHandler

func CreateUserHandler(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *User, err error)

func DeleteUserHandler

func DeleteUserHandler(ctx context.Context, r *GeneratedResolver, id string) (item *User, err error)

func QueryUserHandler

func QueryUserHandler(ctx context.Context, r *GeneratedResolver, opts QueryUserHandlerOptions) (*User, error)

func TaskAssigneeHandler

func TaskAssigneeHandler(ctx context.Context, r *GeneratedResolver, obj *Task) (res *User, err error)

func UpdateUserHandler

func UpdateUserHandler(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *User, err error)

func (*User) Is_Entity

func (m *User) Is_Entity()

type UserChanges

type UserChanges struct {
	ID        string
	Email     *string
	FirstName *string
	LastName  *string
	UpdatedAt *time.Time
	CreatedAt time.Time
	UpdatedBy *string
	CreatedBy *string

	TasksIDs     []*string
	CompaniesIDs []*string
}

type UserFilterType

type UserFilterType struct {
	And                []*UserFilterType  `json:"AND"`
	Or                 []*UserFilterType  `json:"OR"`
	ID                 *string            `json:"id"`
	IDMin              *string            `json:"idMin"`
	IDMax              *string            `json:"idMax"`
	IDNe               *string            `json:"id_ne"`
	IDMinNe            *string            `json:"idMin_ne"`
	IDMaxNe            *string            `json:"idMax_ne"`
	IDGt               *string            `json:"id_gt"`
	IDMinGt            *string            `json:"idMin_gt"`
	IDMaxGt            *string            `json:"idMax_gt"`
	IDLt               *string            `json:"id_lt"`
	IDMinLt            *string            `json:"idMin_lt"`
	IDMaxLt            *string            `json:"idMax_lt"`
	IDGte              *string            `json:"id_gte"`
	IDMinGte           *string            `json:"idMin_gte"`
	IDMaxGte           *string            `json:"idMax_gte"`
	IDLte              *string            `json:"id_lte"`
	IDMinLte           *string            `json:"idMin_lte"`
	IDMaxLte           *string            `json:"idMax_lte"`
	IDIn               []string           `json:"id_in"`
	IDMinIn            []string           `json:"idMin_in"`
	IDMaxIn            []string           `json:"idMax_in"`
	IDNull             *bool              `json:"id_null"`
	Email              *string            `json:"email"`
	EmailMin           *string            `json:"emailMin"`
	EmailMax           *string            `json:"emailMax"`
	EmailNe            *string            `json:"email_ne"`
	EmailMinNe         *string            `json:"emailMin_ne"`
	EmailMaxNe         *string            `json:"emailMax_ne"`
	EmailGt            *string            `json:"email_gt"`
	EmailMinGt         *string            `json:"emailMin_gt"`
	EmailMaxGt         *string            `json:"emailMax_gt"`
	EmailLt            *string            `json:"email_lt"`
	EmailMinLt         *string            `json:"emailMin_lt"`
	EmailMaxLt         *string            `json:"emailMax_lt"`
	EmailGte           *string            `json:"email_gte"`
	EmailMinGte        *string            `json:"emailMin_gte"`
	EmailMaxGte        *string            `json:"emailMax_gte"`
	EmailLte           *string            `json:"email_lte"`
	EmailMinLte        *string            `json:"emailMin_lte"`
	EmailMaxLte        *string            `json:"emailMax_lte"`
	EmailIn            []string           `json:"email_in"`
	EmailMinIn         []string           `json:"emailMin_in"`
	EmailMaxIn         []string           `json:"emailMax_in"`
	EmailLike          *string            `json:"email_like"`
	EmailMinLike       *string            `json:"emailMin_like"`
	EmailMaxLike       *string            `json:"emailMax_like"`
	EmailPrefix        *string            `json:"email_prefix"`
	EmailMinPrefix     *string            `json:"emailMin_prefix"`
	EmailMaxPrefix     *string            `json:"emailMax_prefix"`
	EmailSuffix        *string            `json:"email_suffix"`
	EmailMinSuffix     *string            `json:"emailMin_suffix"`
	EmailMaxSuffix     *string            `json:"emailMax_suffix"`
	EmailNull          *bool              `json:"email_null"`
	FirstName          *string            `json:"firstName"`
	FirstNameMin       *string            `json:"firstNameMin"`
	FirstNameMax       *string            `json:"firstNameMax"`
	FirstNameNe        *string            `json:"firstName_ne"`
	FirstNameMinNe     *string            `json:"firstNameMin_ne"`
	FirstNameMaxNe     *string            `json:"firstNameMax_ne"`
	FirstNameGt        *string            `json:"firstName_gt"`
	FirstNameMinGt     *string            `json:"firstNameMin_gt"`
	FirstNameMaxGt     *string            `json:"firstNameMax_gt"`
	FirstNameLt        *string            `json:"firstName_lt"`
	FirstNameMinLt     *string            `json:"firstNameMin_lt"`
	FirstNameMaxLt     *string            `json:"firstNameMax_lt"`
	FirstNameGte       *string            `json:"firstName_gte"`
	FirstNameMinGte    *string            `json:"firstNameMin_gte"`
	FirstNameMaxGte    *string            `json:"firstNameMax_gte"`
	FirstNameLte       *string            `json:"firstName_lte"`
	FirstNameMinLte    *string            `json:"firstNameMin_lte"`
	FirstNameMaxLte    *string            `json:"firstNameMax_lte"`
	FirstNameIn        []string           `json:"firstName_in"`
	FirstNameMinIn     []string           `json:"firstNameMin_in"`
	FirstNameMaxIn     []string           `json:"firstNameMax_in"`
	FirstNameLike      *string            `json:"firstName_like"`
	FirstNameMinLike   *string            `json:"firstNameMin_like"`
	FirstNameMaxLike   *string            `json:"firstNameMax_like"`
	FirstNamePrefix    *string            `json:"firstName_prefix"`
	FirstNameMinPrefix *string            `json:"firstNameMin_prefix"`
	FirstNameMaxPrefix *string            `json:"firstNameMax_prefix"`
	FirstNameSuffix    *string            `json:"firstName_suffix"`
	FirstNameMinSuffix *string            `json:"firstNameMin_suffix"`
	FirstNameMaxSuffix *string            `json:"firstNameMax_suffix"`
	FirstNameNull      *bool              `json:"firstName_null"`
	LastName           *string            `json:"lastName"`
	LastNameMin        *string            `json:"lastNameMin"`
	LastNameMax        *string            `json:"lastNameMax"`
	LastNameNe         *string            `json:"lastName_ne"`
	LastNameMinNe      *string            `json:"lastNameMin_ne"`
	LastNameMaxNe      *string            `json:"lastNameMax_ne"`
	LastNameGt         *string            `json:"lastName_gt"`
	LastNameMinGt      *string            `json:"lastNameMin_gt"`
	LastNameMaxGt      *string            `json:"lastNameMax_gt"`
	LastNameLt         *string            `json:"lastName_lt"`
	LastNameMinLt      *string            `json:"lastNameMin_lt"`
	LastNameMaxLt      *string            `json:"lastNameMax_lt"`
	LastNameGte        *string            `json:"lastName_gte"`
	LastNameMinGte     *string            `json:"lastNameMin_gte"`
	LastNameMaxGte     *string            `json:"lastNameMax_gte"`
	LastNameLte        *string            `json:"lastName_lte"`
	LastNameMinLte     *string            `json:"lastNameMin_lte"`
	LastNameMaxLte     *string            `json:"lastNameMax_lte"`
	LastNameIn         []string           `json:"lastName_in"`
	LastNameMinIn      []string           `json:"lastNameMin_in"`
	LastNameMaxIn      []string           `json:"lastNameMax_in"`
	LastNameLike       *string            `json:"lastName_like"`
	LastNameMinLike    *string            `json:"lastNameMin_like"`
	LastNameMaxLike    *string            `json:"lastNameMax_like"`
	LastNamePrefix     *string            `json:"lastName_prefix"`
	LastNameMinPrefix  *string            `json:"lastNameMin_prefix"`
	LastNameMaxPrefix  *string            `json:"lastNameMax_prefix"`
	LastNameSuffix     *string            `json:"lastName_suffix"`
	LastNameMinSuffix  *string            `json:"lastNameMin_suffix"`
	LastNameMaxSuffix  *string            `json:"lastNameMax_suffix"`
	LastNameNull       *bool              `json:"lastName_null"`
	UpdatedAt          *time.Time         `json:"updatedAt"`
	UpdatedAtMin       *time.Time         `json:"updatedAtMin"`
	UpdatedAtMax       *time.Time         `json:"updatedAtMax"`
	UpdatedAtNe        *time.Time         `json:"updatedAt_ne"`
	UpdatedAtMinNe     *time.Time         `json:"updatedAtMin_ne"`
	UpdatedAtMaxNe     *time.Time         `json:"updatedAtMax_ne"`
	UpdatedAtGt        *time.Time         `json:"updatedAt_gt"`
	UpdatedAtMinGt     *time.Time         `json:"updatedAtMin_gt"`
	UpdatedAtMaxGt     *time.Time         `json:"updatedAtMax_gt"`
	UpdatedAtLt        *time.Time         `json:"updatedAt_lt"`
	UpdatedAtMinLt     *time.Time         `json:"updatedAtMin_lt"`
	UpdatedAtMaxLt     *time.Time         `json:"updatedAtMax_lt"`
	UpdatedAtGte       *time.Time         `json:"updatedAt_gte"`
	UpdatedAtMinGte    *time.Time         `json:"updatedAtMin_gte"`
	UpdatedAtMaxGte    *time.Time         `json:"updatedAtMax_gte"`
	UpdatedAtLte       *time.Time         `json:"updatedAt_lte"`
	UpdatedAtMinLte    *time.Time         `json:"updatedAtMin_lte"`
	UpdatedAtMaxLte    *time.Time         `json:"updatedAtMax_lte"`
	UpdatedAtIn        []*time.Time       `json:"updatedAt_in"`
	UpdatedAtMinIn     []*time.Time       `json:"updatedAtMin_in"`
	UpdatedAtMaxIn     []*time.Time       `json:"updatedAtMax_in"`
	UpdatedAtNull      *bool              `json:"updatedAt_null"`
	CreatedAt          *time.Time         `json:"createdAt"`
	CreatedAtMin       *time.Time         `json:"createdAtMin"`
	CreatedAtMax       *time.Time         `json:"createdAtMax"`
	CreatedAtNe        *time.Time         `json:"createdAt_ne"`
	CreatedAtMinNe     *time.Time         `json:"createdAtMin_ne"`
	CreatedAtMaxNe     *time.Time         `json:"createdAtMax_ne"`
	CreatedAtGt        *time.Time         `json:"createdAt_gt"`
	CreatedAtMinGt     *time.Time         `json:"createdAtMin_gt"`
	CreatedAtMaxGt     *time.Time         `json:"createdAtMax_gt"`
	CreatedAtLt        *time.Time         `json:"createdAt_lt"`
	CreatedAtMinLt     *time.Time         `json:"createdAtMin_lt"`
	CreatedAtMaxLt     *time.Time         `json:"createdAtMax_lt"`
	CreatedAtGte       *time.Time         `json:"createdAt_gte"`
	CreatedAtMinGte    *time.Time         `json:"createdAtMin_gte"`
	CreatedAtMaxGte    *time.Time         `json:"createdAtMax_gte"`
	CreatedAtLte       *time.Time         `json:"createdAt_lte"`
	CreatedAtMinLte    *time.Time         `json:"createdAtMin_lte"`
	CreatedAtMaxLte    *time.Time         `json:"createdAtMax_lte"`
	CreatedAtIn        []*time.Time       `json:"createdAt_in"`
	CreatedAtMinIn     []*time.Time       `json:"createdAtMin_in"`
	CreatedAtMaxIn     []*time.Time       `json:"createdAtMax_in"`
	CreatedAtNull      *bool              `json:"createdAt_null"`
	UpdatedBy          *string            `json:"updatedBy"`
	UpdatedByMin       *string            `json:"updatedByMin"`
	UpdatedByMax       *string            `json:"updatedByMax"`
	UpdatedByNe        *string            `json:"updatedBy_ne"`
	UpdatedByMinNe     *string            `json:"updatedByMin_ne"`
	UpdatedByMaxNe     *string            `json:"updatedByMax_ne"`
	UpdatedByGt        *string            `json:"updatedBy_gt"`
	UpdatedByMinGt     *string            `json:"updatedByMin_gt"`
	UpdatedByMaxGt     *string            `json:"updatedByMax_gt"`
	UpdatedByLt        *string            `json:"updatedBy_lt"`
	UpdatedByMinLt     *string            `json:"updatedByMin_lt"`
	UpdatedByMaxLt     *string            `json:"updatedByMax_lt"`
	UpdatedByGte       *string            `json:"updatedBy_gte"`
	UpdatedByMinGte    *string            `json:"updatedByMin_gte"`
	UpdatedByMaxGte    *string            `json:"updatedByMax_gte"`
	UpdatedByLte       *string            `json:"updatedBy_lte"`
	UpdatedByMinLte    *string            `json:"updatedByMin_lte"`
	UpdatedByMaxLte    *string            `json:"updatedByMax_lte"`
	UpdatedByIn        []string           `json:"updatedBy_in"`
	UpdatedByMinIn     []string           `json:"updatedByMin_in"`
	UpdatedByMaxIn     []string           `json:"updatedByMax_in"`
	UpdatedByNull      *bool              `json:"updatedBy_null"`
	CreatedBy          *string            `json:"createdBy"`
	CreatedByMin       *string            `json:"createdByMin"`
	CreatedByMax       *string            `json:"createdByMax"`
	CreatedByNe        *string            `json:"createdBy_ne"`
	CreatedByMinNe     *string            `json:"createdByMin_ne"`
	CreatedByMaxNe     *string            `json:"createdByMax_ne"`
	CreatedByGt        *string            `json:"createdBy_gt"`
	CreatedByMinGt     *string            `json:"createdByMin_gt"`
	CreatedByMaxGt     *string            `json:"createdByMax_gt"`
	CreatedByLt        *string            `json:"createdBy_lt"`
	CreatedByMinLt     *string            `json:"createdByMin_lt"`
	CreatedByMaxLt     *string            `json:"createdByMax_lt"`
	CreatedByGte       *string            `json:"createdBy_gte"`
	CreatedByMinGte    *string            `json:"createdByMin_gte"`
	CreatedByMaxGte    *string            `json:"createdByMax_gte"`
	CreatedByLte       *string            `json:"createdBy_lte"`
	CreatedByMinLte    *string            `json:"createdByMin_lte"`
	CreatedByMaxLte    *string            `json:"createdByMax_lte"`
	CreatedByIn        []string           `json:"createdBy_in"`
	CreatedByMinIn     []string           `json:"createdByMin_in"`
	CreatedByMaxIn     []string           `json:"createdByMax_in"`
	CreatedByNull      *bool              `json:"createdBy_null"`
	Tasks              *TaskFilterType    `json:"tasks"`
	Companies          *CompanyFilterType `json:"companies"`
}

func (*UserFilterType) AndWith

func (f *UserFilterType) AndWith(f2 ...*UserFilterType) *UserFilterType

AndWith convenience method for combining two or more filters with AND statement

func (*UserFilterType) Apply

func (f *UserFilterType) Apply(ctx context.Context, dialect gorm.Dialect, wheres *[]string, whereValues *[]interface{}, havings *[]string, havingValues *[]interface{}, joins *[]string) error

func (*UserFilterType) ApplyWithAlias

func (f *UserFilterType) ApplyWithAlias(ctx context.Context, dialect gorm.Dialect, alias string, wheres *[]string, whereValues *[]interface{}, havings *[]string, havingValues *[]interface{}, joins *[]string) error

func (*UserFilterType) HavingContent

func (f *UserFilterType) HavingContent(dialect gorm.Dialect, aliasPrefix string) (conditions []string, values []interface{})

func (*UserFilterType) IsEmpty

func (f *UserFilterType) IsEmpty(ctx context.Context, dialect gorm.Dialect) bool

func (*UserFilterType) OrWith

func (f *UserFilterType) OrWith(f2 ...*UserFilterType) *UserFilterType

OrWith convenience method for combining two or more filters with OR statement

func (*UserFilterType) WhereContent

func (f *UserFilterType) WhereContent(dialect gorm.Dialect, aliasPrefix string) (conditions []string, values []interface{})

type UserQueryFilter

type UserQueryFilter struct {
	Query *string
}

func (*UserQueryFilter) Apply

func (qf *UserQueryFilter) Apply(ctx context.Context, dialect gorm.Dialect, selectionSet *ast.SelectionSet, wheres *[]string, values *[]interface{}, joins *[]string) error

type UserResolver

type UserResolver interface {
	Tasks(ctx context.Context, obj *User) ([]*Task, error)
	Companies(ctx context.Context, obj *User) ([]*Company, error)

	TasksIds(ctx context.Context, obj *User) ([]string, error)
	TasksConnection(ctx context.Context, obj *User, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) (*TaskResultType, error)
	CompaniesIds(ctx context.Context, obj *User) ([]string, error)
	CompaniesConnection(ctx context.Context, obj *User, offset *int, limit *int, q *string, sort []*CompanySortType, filter *CompanyFilterType) (*CompanyResultType, error)
}

type UserResultType

type UserResultType struct {
	EntityResultType
}

type UserResultTypeResolver

type UserResultTypeResolver interface {
	Items(ctx context.Context, obj *UserResultType) ([]*User, error)
	Count(ctx context.Context, obj *UserResultType) (int, error)
}

type UserSortType

type UserSortType struct {
	ID              *ObjectSortType  `json:"id"`
	IDMin           *ObjectSortType  `json:"idMin"`
	IDMax           *ObjectSortType  `json:"idMax"`
	Email           *ObjectSortType  `json:"email"`
	EmailMin        *ObjectSortType  `json:"emailMin"`
	EmailMax        *ObjectSortType  `json:"emailMax"`
	FirstName       *ObjectSortType  `json:"firstName"`
	FirstNameMin    *ObjectSortType  `json:"firstNameMin"`
	FirstNameMax    *ObjectSortType  `json:"firstNameMax"`
	LastName        *ObjectSortType  `json:"lastName"`
	LastNameMin     *ObjectSortType  `json:"lastNameMin"`
	LastNameMax     *ObjectSortType  `json:"lastNameMax"`
	UpdatedAt       *ObjectSortType  `json:"updatedAt"`
	UpdatedAtMin    *ObjectSortType  `json:"updatedAtMin"`
	UpdatedAtMax    *ObjectSortType  `json:"updatedAtMax"`
	CreatedAt       *ObjectSortType  `json:"createdAt"`
	CreatedAtMin    *ObjectSortType  `json:"createdAtMin"`
	CreatedAtMax    *ObjectSortType  `json:"createdAtMax"`
	UpdatedBy       *ObjectSortType  `json:"updatedBy"`
	UpdatedByMin    *ObjectSortType  `json:"updatedByMin"`
	UpdatedByMax    *ObjectSortType  `json:"updatedByMax"`
	CreatedBy       *ObjectSortType  `json:"createdBy"`
	CreatedByMin    *ObjectSortType  `json:"createdByMin"`
	CreatedByMax    *ObjectSortType  `json:"createdByMax"`
	TasksIds        *ObjectSortType  `json:"tasksIds"`
	TasksIdsMin     *ObjectSortType  `json:"tasksIdsMin"`
	TasksIdsMax     *ObjectSortType  `json:"tasksIdsMax"`
	CompaniesIds    *ObjectSortType  `json:"companiesIds"`
	CompaniesIdsMin *ObjectSortType  `json:"companiesIdsMin"`
	CompaniesIdsMax *ObjectSortType  `json:"companiesIdsMax"`
	Tasks           *TaskSortType    `json:"tasks"`
	Companies       *CompanySortType `json:"companies"`
}

func (UserSortType) Apply

func (s UserSortType) Apply(ctx context.Context, dialect gorm.Dialect, sorts *[]SortInfo, joins *[]string) error

func (UserSortType) ApplyWithAlias

func (s UserSortType) ApplyWithAlias(ctx context.Context, dialect gorm.Dialect, alias string, sorts *[]SortInfo, joins *[]string) error

Jump to

Keyboard shortcuts

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