gen

package
v0.0.0-...-04cb942 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2021 License: MIT Imports: 42 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 = `` /* 34401-byte string literal not displayed */

)

consts ...

View Source
const (
	JWTPermissionConstCreate = "create"
	JWTPermissionConstRead   = "read"
	JWTPermissionConstUpdate = "update"
	JWTPermissionConstDelete = "delete"
	JWTPermissionConstList   = "list"
)

Permission Constants

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

Variables

Functions

func AddMutationEvent

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

AddMutationEvent method

func ApplyChanges

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

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

func AutoMigrate

func AutoMigrate(db *gorm.DB) (err error)

func DeleteAllCompaniesHandler

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

DeleteAllCompaniesHandler handler

func DeleteAllPlainEntitiesHandler

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

DeleteAllPlainEntitiesHandler handler

func DeleteAllTaskCategoriesHandler

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

DeleteAllTaskCategoriesHandler handler

func DeleteAllTasksHandler

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

DeleteAllTasksHandler handler

func DeleteAllUsersHandler

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

DeleteAllUsersHandler handler

func EnrichContextWithMutations

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

EnrichContextWithMutations method

func FinishMutationContext

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

FinishMutationContext method

func GetHTTPHandler

func GetHTTPHandler(r ResolverRoot, db *DB, migrations []*gormigrate.Migration, res http.ResponseWriter, req *http.Request)

GetHTTPHandler func for be used with Handler deployments

func GetHTTPServeMux

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

GetHTTPServeMux HTTP Mux

func GetItem

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

GetItem ...

func GetItemForRelation

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

GetItemForRelation ...

func GetLoaders

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

GetLoaders ...

func GetPrincipalIDFromContext

func GetPrincipalIDFromContext(ctx context.Context) *string

GetPrincipalIDFromContext ...

func HasPermission

func HasPermission(c *JWTClaims, e string, p string) bool

HasPermission method checks if claims have an [e]ntity's [p]ermission

func HasRole

func HasRole(c *JWTClaims, r string) bool

HasRole method checks if claims has a specific [r]ole

func Migrate

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

Migrate runs migrations

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

func PlainEntityShortTextHandler

func PlainEntityShortTextHandler(ctx context.Context, r *GeneratedResolver, obj *PlainEntity) (res string, err error)

PlainEntityShortTextHandler handler

func RollbackMutationContext

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

RollbackMutationContext method

func TableName

func TableName(name string) string

TableName gets table name

Types

type Address

type Address struct {
	Street *string `json:"street"`
	City   *string `json:"city"`
	Zip    *string `json:"zip"`
}

func UserAddressHandler

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

UserAddressHandler handler

type Company

type Company struct {
	ID        string     `json:"id" gorm:"column:id;primary_key"`
	Name      *string    `json:"name" gorm:"column:name"`
	CountryID *string    `json:"countryId" gorm:"column:countryId"`
	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 `json:"employees" gorm:"many2many:user_employers;jointable_foreignkey:employerId;association_jointable_foreignkey:employeeId"`
}

Company struct

func CreateCompanyHandler

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

CreateCompanyHandler handler

func DeleteCompanyHandler

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

DeleteCompanyHandler handler

func QueryCompanyHandler

func QueryCompanyHandler(ctx context.Context, r *GeneratedResolver, opts QueryCompanyHandlerOptions) (*Company, error)

QueryCompanyHandler handler

func UpdateCompanyHandler

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

UpdateCompanyHandler handler

func UserEmployersHandler

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

UserEmployersHandler handler

func (*Company) IsEntity

func (m *Company) IsEntity()

IsEntity ...

func (*Company) IsNamedEntity

func (m *Company) IsNamedEntity()

IsNamedEntity ...

type CompanyChanges

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

	EmployeesIDs []*string
}

CompanyChanges struct

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"`
	CountryID       *string              `json:"countryId"`
	CountryIDMin    *string              `json:"countryIdMin"`
	CountryIDMax    *string              `json:"countryIdMax"`
	CountryIDNe     *string              `json:"countryId_ne"`
	CountryIDMinNe  *string              `json:"countryIdMin_ne"`
	CountryIDMaxNe  *string              `json:"countryIdMax_ne"`
	CountryIDGt     *string              `json:"countryId_gt"`
	CountryIDMinGt  *string              `json:"countryIdMin_gt"`
	CountryIDMaxGt  *string              `json:"countryIdMax_gt"`
	CountryIDLt     *string              `json:"countryId_lt"`
	CountryIDMinLt  *string              `json:"countryIdMin_lt"`
	CountryIDMaxLt  *string              `json:"countryIdMax_lt"`
	CountryIDGte    *string              `json:"countryId_gte"`
	CountryIDMinGte *string              `json:"countryIdMin_gte"`
	CountryIDMaxGte *string              `json:"countryIdMax_gte"`
	CountryIDLte    *string              `json:"countryId_lte"`
	CountryIDMinLte *string              `json:"countryIdMin_lte"`
	CountryIDMaxLte *string              `json:"countryIdMax_lte"`
	CountryIDIn     []string             `json:"countryId_in"`
	CountryIDMinIn  []string             `json:"countryIdMin_in"`
	CountryIDMaxIn  []string             `json:"countryIdMax_in"`
	CountryIDNull   *bool                `json:"countryId_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

Apply method

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

ApplyWithAlias method

func (*CompanyFilterType) HavingContent

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

HavingContent method

func (*CompanyFilterType) IsEmpty

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

IsEmpty ...

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{})

WhereContent ...

type CompanyQueryFilter

type CompanyQueryFilter struct {
	Query *string
}

CompanyQueryFilter struct

func (*CompanyQueryFilter) Apply

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

Apply ...

type CompanyResolver

type CompanyResolver interface {
	Country(ctx context.Context, obj *Company) (*Country, error)
	Employees(ctx context.Context, obj *Company) ([]*User, error)
	Reviews(ctx context.Context, obj *Company) ([]*Review, 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)
	UppercaseName(ctx context.Context, obj *Company) (string, error)
}

type CompanyResultType

type CompanyResultType struct {
	EntityResultType
}

CompanyResultType struct

func QueryCompaniesHandler

QueryCompaniesHandler handler

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"`
	CountryID       *ObjectSortType `json:"countryId"`
	CountryIDMin    *ObjectSortType `json:"countryIdMin"`
	CountryIDMax    *ObjectSortType `json:"countryIdMax"`
	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

Apply method

func (CompanySortType) ApplyWithAlias

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

ApplyWithAlias method

type ComplexityRoot

type ComplexityRoot struct {
	Address struct {
		City   func(childComplexity int) int
		Street func(childComplexity int) int
		Zip    func(childComplexity int) int
	}

	Company struct {
		Country             func(childComplexity int) int
		CountryID           func(childComplexity int) int
		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
		Reviews             func(childComplexity int) int
		UpdatedAt           func(childComplexity int) int
		UpdatedBy           func(childComplexity int) int
		UppercaseName       func(childComplexity int) int
	}

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

	Country struct {
		ID func(childComplexity int) int
	}

	Mutation struct {
		CreateCompany           func(childComplexity int, input map[string]interface{}) int
		CreatePlainEntity       func(childComplexity int, input map[string]interface{}) int
		CreateTask              func(childComplexity int, input map[string]interface{}) int
		CreateTaskCategory      func(childComplexity int, input map[string]interface{}) int
		CreateUser              func(childComplexity int, input map[string]interface{}) int
		DeleteAllCompanies      func(childComplexity int) int
		DeleteAllPlainEntities  func(childComplexity int) int
		DeleteAllTaskCategories func(childComplexity int) int
		DeleteAllTasks          func(childComplexity int) int
		DeleteAllUsers          func(childComplexity int) int
		DeleteCompany           func(childComplexity int, id string) int
		DeletePlainEntity       func(childComplexity int, id string) int
		DeleteTask              func(childComplexity int, id string) int
		DeleteTaskCategory      func(childComplexity int, id string) int
		DeleteUser              func(childComplexity int, id string) int
		UpdateCompany           func(childComplexity int, id string, input map[string]interface{}) int
		UpdatePlainEntity       func(childComplexity int, id string, input map[string]interface{}) int
		UpdateTask              func(childComplexity int, id string, input map[string]interface{}) int
		UpdateTaskCategory      func(childComplexity int, id string, input map[string]interface{}) int
		UpdateUser              func(childComplexity int, id string, input map[string]interface{}) int
	}

	PlainEntity struct {
		CreatedAt func(childComplexity int) int
		CreatedBy func(childComplexity int) int
		Date      func(childComplexity int) int
		ID        func(childComplexity int) int
		ShortText func(childComplexity int) int
		Text      func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		UpdatedBy func(childComplexity int) int
	}

	PlainEntityResultType struct {
		Count func(childComplexity int) int
		Items func(childComplexity int) 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
		PlainEntities  func(childComplexity int, offset *int, limit *int, q *string, sort []*PlainEntitySortType, filter *PlainEntityFilterType) int
		PlainEntity    func(childComplexity int, id *string, q *string, filter *PlainEntityFilterType) int
		Task           func(childComplexity int, id *string, q *string, filter *TaskFilterType) int
		TaskCategories func(childComplexity int, offset *int, limit *int, q *string, sort []*TaskCategorySortType, filter *TaskCategoryFilterType) int
		TaskCategory   func(childComplexity int, id *string, q *string, filter *TaskCategoryFilterType) int
		Tasks          func(childComplexity int, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) int
		TopCompanies   func(childComplexity int) 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
	}

	Review struct {
		Company     func(childComplexity int) int
		ID          func(childComplexity int) int
		ReferenceID func(childComplexity int) int
	}

	Task struct {
		Assignee             func(childComplexity int) int
		AssigneeID           func(childComplexity int) int
		Categories           func(childComplexity int) int
		CategoriesConnection func(childComplexity int, offset *int, limit *int, q *string, sort []*TaskCategorySortType, filter *TaskCategoryFilterType) int
		CategoriesIds        func(childComplexity int) int
		Completed            func(childComplexity int) int
		CreatedAt            func(childComplexity int) int
		CreatedBy            func(childComplexity int) int
		DueDate              func(childComplexity int) int
		ID                   func(childComplexity int) int
		Meta                 func(childComplexity int) int
		Metas                func(childComplexity int) int
		Owner                func(childComplexity int) int
		OwnerID              func(childComplexity int) int
		ParentTask           func(childComplexity int) int
		ParentTaskID         func(childComplexity int) int
		State                func(childComplexity int) int
		Subtasks             func(childComplexity int) int
		SubtasksConnection   func(childComplexity int, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) int
		SubtasksIds          func(childComplexity int) int
		Title                func(childComplexity int) int
		UpdatedAt            func(childComplexity int) int
		UpdatedBy            func(childComplexity int) int
	}

	TaskCategory struct {
		CreatedAt       func(childComplexity int) int
		CreatedBy       func(childComplexity int) int
		ID              func(childComplexity int) int
		Name            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
	}

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

	TaskMeta struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

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

	User struct {
		Address                func(childComplexity int) int
		AddressRaw             func(childComplexity int) int
		Code                   func(childComplexity int) int
		CreatedAt              func(childComplexity int) int
		CreatedBy              func(childComplexity int) int
		CreatedTasks           func(childComplexity int) int
		CreatedTasksConnection func(childComplexity int, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) int
		CreatedTasksIds        func(childComplexity int) int
		Email                  func(childComplexity int) int
		Employers              func(childComplexity int) int
		EmployersConnection    func(childComplexity int, offset *int, limit *int, q *string, sort []*CompanySortType, filter *CompanyFilterType) int
		EmployersIds           func(childComplexity int) int
		FirstName              func(childComplexity int) int
		ID                     func(childComplexity int) int
		LastName               func(childComplexity int) int
		Salary                 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
	}

	Service struct {
		SDL func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type Country

type Country struct {
	ID string `json:"id"`
}

func CompanyCountryHandler

func CompanyCountryHandler(ctx context.Context, r *GeneratedResolver, obj *Company) (res *Country, err error)

CompanyCountryHandler handler

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

Ping pong

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
}

EntityFilter interface

type EntityFilterQuery

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

EntityFilterQuery interface

type EntityResultType

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

EntityResultType struct

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

GetItems ...

func (*EntityResultType) GetSortStrings

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

GetSortStrings ...

type EntitySort

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

EntitySort interface

type EventController

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

EventController ...

func NewEventController

func NewEventController() (ec EventController, err error)

NewEventController ...

func (*EventController) SendEvent

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

SendEvent ...

type GeneratedCompanyResolver

type GeneratedCompanyResolver struct{ *GeneratedResolver }

GeneratedCompanyResolver struct

func (*GeneratedCompanyResolver) Country

func (r *GeneratedCompanyResolver) Country(ctx context.Context, obj *Company) (res *Country, err error)

Country ...

func (*GeneratedCompanyResolver) Employees

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

Employees ...

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)

EmployeesConnection method

func (*GeneratedCompanyResolver) EmployeesIds

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

EmployeesIds ...

func (*GeneratedCompanyResolver) Reviews

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

Reviews ...

type GeneratedCompanyResultTypeResolver

type GeneratedCompanyResultTypeResolver struct{ *GeneratedResolver }

GeneratedCompanyResultTypeResolver struct

func (*GeneratedCompanyResultTypeResolver) Count

Count ...

func (*GeneratedCompanyResultTypeResolver) Items

Items ...

type GeneratedCountryResolver

type GeneratedCountryResolver struct{ *GeneratedResolver }

GeneratedCountryResolver struct

type GeneratedMutationResolver

type GeneratedMutationResolver struct{ *GeneratedResolver }

GeneratedMutationResolver struct

func (*GeneratedMutationResolver) CreateCompany

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

CreateCompany method

func (*GeneratedMutationResolver) CreatePlainEntity

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

CreatePlainEntity method

func (*GeneratedMutationResolver) CreateTask

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

CreateTask method

func (*GeneratedMutationResolver) CreateTaskCategory

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

CreateTaskCategory method

func (*GeneratedMutationResolver) CreateUser

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

CreateUser method

func (*GeneratedMutationResolver) DeleteAllCompanies

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

DeleteAllCompanies method

func (*GeneratedMutationResolver) DeleteAllPlainEntities

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

DeleteAllPlainEntities method

func (*GeneratedMutationResolver) DeleteAllTaskCategories

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

DeleteAllTaskCategories method

func (*GeneratedMutationResolver) DeleteAllTasks

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

DeleteAllTasks method

func (*GeneratedMutationResolver) DeleteAllUsers

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

DeleteAllUsers method

func (*GeneratedMutationResolver) DeleteCompany

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

DeleteCompany method

func (*GeneratedMutationResolver) DeletePlainEntity

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

DeletePlainEntity method

func (*GeneratedMutationResolver) DeleteTask

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

DeleteTask method

func (*GeneratedMutationResolver) DeleteTaskCategory

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

DeleteTaskCategory method

func (*GeneratedMutationResolver) DeleteUser

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

DeleteUser method

func (*GeneratedMutationResolver) UpdateCompany

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

UpdateCompany method

func (*GeneratedMutationResolver) UpdatePlainEntity

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

UpdatePlainEntity method

func (*GeneratedMutationResolver) UpdateTask

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

UpdateTask method

func (*GeneratedMutationResolver) UpdateTaskCategory

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

UpdateTaskCategory method

func (*GeneratedMutationResolver) UpdateUser

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

UpdateUser method

type GeneratedPlainEntityResolver

type GeneratedPlainEntityResolver struct{ *GeneratedResolver }

GeneratedPlainEntityResolver struct

func (*GeneratedPlainEntityResolver) ShortText

func (r *GeneratedPlainEntityResolver) ShortText(ctx context.Context, obj *PlainEntity) (res string, err error)

ShortText ...

type GeneratedPlainEntityResultTypeResolver

type GeneratedPlainEntityResultTypeResolver struct{ *GeneratedResolver }

GeneratedPlainEntityResultTypeResolver struct

func (*GeneratedPlainEntityResultTypeResolver) Count

Count ...

func (*GeneratedPlainEntityResultTypeResolver) Items

Items ...

type GeneratedQueryResolver

type GeneratedQueryResolver struct{ *GeneratedResolver }

GeneratedQueryResolver struct

func (*GeneratedQueryResolver) Companies

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

Companies ...

func (*GeneratedQueryResolver) Company

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

Company ...

func (*GeneratedQueryResolver) PlainEntities

func (r *GeneratedQueryResolver) PlainEntities(ctx context.Context, offset *int, limit *int, q *string, sort []*PlainEntitySortType, filter *PlainEntityFilterType) (*PlainEntityResultType, error)

PlainEntities ...

func (*GeneratedQueryResolver) PlainEntity

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

PlainEntity ...

func (*GeneratedQueryResolver) Task

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

Task ...

func (*GeneratedQueryResolver) TaskCategories

func (r *GeneratedQueryResolver) TaskCategories(ctx context.Context, offset *int, limit *int, q *string, sort []*TaskCategorySortType, filter *TaskCategoryFilterType) (*TaskCategoryResultType, error)

TaskCategories ...

func (*GeneratedQueryResolver) TaskCategory

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

TaskCategory ...

func (*GeneratedQueryResolver) Tasks

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

Tasks ...

func (*GeneratedQueryResolver) User

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

User ...

func (*GeneratedQueryResolver) Users

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

Users ...

type GeneratedResolver

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

GeneratedResolver struct

func (*GeneratedResolver) GetDB

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

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

type GeneratedReviewResolver

type GeneratedReviewResolver struct{ *GeneratedResolver }

GeneratedReviewResolver struct

type GeneratedTaskCategoryResolver

type GeneratedTaskCategoryResolver struct{ *GeneratedResolver }

GeneratedTaskCategoryResolver struct

func (*GeneratedTaskCategoryResolver) Tasks

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

Tasks ...

func (*GeneratedTaskCategoryResolver) TasksConnection

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

TasksConnection method

func (*GeneratedTaskCategoryResolver) TasksIds

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

TasksIds ...

type GeneratedTaskCategoryResultTypeResolver

type GeneratedTaskCategoryResultTypeResolver struct{ *GeneratedResolver }

GeneratedTaskCategoryResultTypeResolver struct

func (*GeneratedTaskCategoryResultTypeResolver) Count

Count ...

func (*GeneratedTaskCategoryResultTypeResolver) Items

Items ...

type GeneratedTaskResolver

type GeneratedTaskResolver struct{ *GeneratedResolver }

GeneratedTaskResolver struct

func (*GeneratedTaskResolver) Assignee

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

Assignee ...

func (*GeneratedTaskResolver) Categories

func (r *GeneratedTaskResolver) Categories(ctx context.Context, obj *Task) (res []*TaskCategory, err error)

Categories ...

func (*GeneratedTaskResolver) CategoriesConnection

func (r *GeneratedTaskResolver) CategoriesConnection(ctx context.Context, obj *Task, offset *int, limit *int, q *string, sort []*TaskCategorySortType, filter *TaskCategoryFilterType) (res *TaskCategoryResultType, err error)

CategoriesConnection method

func (*GeneratedTaskResolver) CategoriesIds

func (r *GeneratedTaskResolver) CategoriesIds(ctx context.Context, obj *Task) (ids []string, err error)

CategoriesIds ...

func (*GeneratedTaskResolver) Meta

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

Meta ...

func (*GeneratedTaskResolver) Metas

func (r *GeneratedTaskResolver) Metas(ctx context.Context, obj *Task) (res []*TaskMeta, err error)

Metas ...

func (*GeneratedTaskResolver) Owner

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

Owner ...

func (*GeneratedTaskResolver) ParentTask

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

ParentTask ...

func (*GeneratedTaskResolver) Subtasks

func (r *GeneratedTaskResolver) Subtasks(ctx context.Context, obj *Task) (res []*Task, err error)

Subtasks ...

func (*GeneratedTaskResolver) SubtasksConnection

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

SubtasksConnection method

func (*GeneratedTaskResolver) SubtasksIds

func (r *GeneratedTaskResolver) SubtasksIds(ctx context.Context, obj *Task) (ids []string, err error)

SubtasksIds ...

type GeneratedTaskResultTypeResolver

type GeneratedTaskResultTypeResolver struct{ *GeneratedResolver }

GeneratedTaskResultTypeResolver struct

func (*GeneratedTaskResultTypeResolver) Count

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

Count ...

func (*GeneratedTaskResultTypeResolver) Items

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

Items ...

type GeneratedUserResolver

type GeneratedUserResolver struct{ *GeneratedResolver }

GeneratedUserResolver struct

func (*GeneratedUserResolver) Address

func (r *GeneratedUserResolver) Address(ctx context.Context, obj *User) (res *Address, err error)

Address ...

func (*GeneratedUserResolver) CreatedTasks

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

CreatedTasks ...

func (*GeneratedUserResolver) CreatedTasksConnection

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

CreatedTasksConnection method

func (*GeneratedUserResolver) CreatedTasksIds

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

CreatedTasksIds ...

func (*GeneratedUserResolver) Employers

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

Employers ...

func (*GeneratedUserResolver) EmployersConnection

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

EmployersConnection method

func (*GeneratedUserResolver) EmployersIds

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

EmployersIds ...

func (*GeneratedUserResolver) Tasks

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

Tasks ...

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)

TasksConnection method

func (*GeneratedUserResolver) TasksIds

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

TasksIds ...

type GeneratedUserResultTypeResolver

type GeneratedUserResultTypeResolver struct{ *GeneratedResolver }

GeneratedUserResultTypeResolver struct

func (*GeneratedUserResultTypeResolver) Count

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

Count ...

func (*GeneratedUserResultTypeResolver) Items

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

Items ...

type GetItemsOptions

type GetItemsOptions struct {
	Alias      string
	Preloaders []string
}

GetItemsOptions struct

type JWTClaims

type JWTClaims struct {
	jwtgo.StandardClaims
	Email       string            `json:"email"`
	Name        string            `json:"name"`
	Nickname    string            `json:"nickname"`
	Picture     string            `json:"avatar,omitempty"`
	Roles       []string          `json:"roles,omitempty"`
	Permissions map[string]string `json:"permissions,omitempty"`
	Scope       *string           `json:"scope,omitempty"`
}

JWTClaims JWT Claims

func GetJWTClaimsFromContext

func GetJWTClaimsFromContext(ctx context.Context) *JWTClaims

GetJWTClaimsFromContext method

func (*JWTClaims) HasScope

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

HasScope ...

func (*JWTClaims) Scopes

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

Scopes ...

type MutationEvents

type MutationEvents struct {
	Events []events.Event
}

MutationEvents struct

func GetMutationEventStore

func GetMutationEventStore(ctx context.Context) *MutationEvents

GetMutationEventStore method

type MutationResolver

type MutationResolver interface {
	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)
	CreateTaskCategory(ctx context.Context, input map[string]interface{}) (*TaskCategory, error)
	UpdateTaskCategory(ctx context.Context, id string, input map[string]interface{}) (*TaskCategory, error)
	DeleteTaskCategory(ctx context.Context, id string) (*TaskCategory, error)
	DeleteAllTaskCategories(ctx context.Context) (bool, error)
	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)
	CreatePlainEntity(ctx context.Context, input map[string]interface{}) (*PlainEntity, error)
	UpdatePlainEntity(ctx context.Context, id string, input map[string]interface{}) (*PlainEntity, error)
	DeletePlainEntity(ctx context.Context, id string) (*PlainEntity, error)
	DeleteAllPlainEntities(ctx context.Context) (bool, error)
}

type NamedEntity

type NamedEntity interface {
	IsNamedEntity()
}

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 PlainEntity

type PlainEntity struct {
	ID        string     `json:"id" gorm:"column:id;primary_key"`
	Date      *time.Time `json:"date" gorm:"column:date"`
	Text      *string    `json:"text" gorm:"column:text;type:text"`
	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"`
}

PlainEntity struct

func CreatePlainEntityHandler

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

CreatePlainEntityHandler handler

func DeletePlainEntityHandler

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

DeletePlainEntityHandler handler

func QueryPlainEntityHandler

func QueryPlainEntityHandler(ctx context.Context, r *GeneratedResolver, opts QueryPlainEntityHandlerOptions) (*PlainEntity, error)

QueryPlainEntityHandler handler

func UpdatePlainEntityHandler

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

UpdatePlainEntityHandler handler

func (*PlainEntity) IsEntity

func (m *PlainEntity) IsEntity()

IsEntity ...

type PlainEntityChanges

type PlainEntityChanges struct {
	ID        string
	Date      *time.Time
	Text      *string
	UpdatedAt *time.Time
	CreatedAt time.Time
	UpdatedBy *string
	CreatedBy *string
}

PlainEntityChanges struct

type PlainEntityFilterType

type PlainEntityFilterType struct {
	And             []*PlainEntityFilterType `json:"AND"`
	Or              []*PlainEntityFilterType `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"`
	Date            *time.Time               `json:"date"`
	DateMin         *time.Time               `json:"dateMin"`
	DateMax         *time.Time               `json:"dateMax"`
	DateNe          *time.Time               `json:"date_ne"`
	DateMinNe       *time.Time               `json:"dateMin_ne"`
	DateMaxNe       *time.Time               `json:"dateMax_ne"`
	DateGt          *time.Time               `json:"date_gt"`
	DateMinGt       *time.Time               `json:"dateMin_gt"`
	DateMaxGt       *time.Time               `json:"dateMax_gt"`
	DateLt          *time.Time               `json:"date_lt"`
	DateMinLt       *time.Time               `json:"dateMin_lt"`
	DateMaxLt       *time.Time               `json:"dateMax_lt"`
	DateGte         *time.Time               `json:"date_gte"`
	DateMinGte      *time.Time               `json:"dateMin_gte"`
	DateMaxGte      *time.Time               `json:"dateMax_gte"`
	DateLte         *time.Time               `json:"date_lte"`
	DateMinLte      *time.Time               `json:"dateMin_lte"`
	DateMaxLte      *time.Time               `json:"dateMax_lte"`
	DateIn          []*time.Time             `json:"date_in"`
	DateMinIn       []*time.Time             `json:"dateMin_in"`
	DateMaxIn       []*time.Time             `json:"dateMax_in"`
	DateNull        *bool                    `json:"date_null"`
	Text            *string                  `json:"text"`
	TextMin         *string                  `json:"textMin"`
	TextMax         *string                  `json:"textMax"`
	TextNe          *string                  `json:"text_ne"`
	TextMinNe       *string                  `json:"textMin_ne"`
	TextMaxNe       *string                  `json:"textMax_ne"`
	TextGt          *string                  `json:"text_gt"`
	TextMinGt       *string                  `json:"textMin_gt"`
	TextMaxGt       *string                  `json:"textMax_gt"`
	TextLt          *string                  `json:"text_lt"`
	TextMinLt       *string                  `json:"textMin_lt"`
	TextMaxLt       *string                  `json:"textMax_lt"`
	TextGte         *string                  `json:"text_gte"`
	TextMinGte      *string                  `json:"textMin_gte"`
	TextMaxGte      *string                  `json:"textMax_gte"`
	TextLte         *string                  `json:"text_lte"`
	TextMinLte      *string                  `json:"textMin_lte"`
	TextMaxLte      *string                  `json:"textMax_lte"`
	TextIn          []string                 `json:"text_in"`
	TextMinIn       []string                 `json:"textMin_in"`
	TextMaxIn       []string                 `json:"textMax_in"`
	TextLike        *string                  `json:"text_like"`
	TextMinLike     *string                  `json:"textMin_like"`
	TextMaxLike     *string                  `json:"textMax_like"`
	TextPrefix      *string                  `json:"text_prefix"`
	TextMinPrefix   *string                  `json:"textMin_prefix"`
	TextMaxPrefix   *string                  `json:"textMax_prefix"`
	TextSuffix      *string                  `json:"text_suffix"`
	TextMinSuffix   *string                  `json:"textMin_suffix"`
	TextMaxSuffix   *string                  `json:"textMax_suffix"`
	TextNull        *bool                    `json:"text_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"`
}

func (*PlainEntityFilterType) AndWith

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

func (*PlainEntityFilterType) Apply

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

Apply method

func (*PlainEntityFilterType) ApplyWithAlias

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

ApplyWithAlias method

func (*PlainEntityFilterType) HavingContent

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

HavingContent method

func (*PlainEntityFilterType) IsEmpty

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

IsEmpty ...

func (*PlainEntityFilterType) OrWith

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

func (*PlainEntityFilterType) WhereContent

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

WhereContent ...

type PlainEntityQueryFilter

type PlainEntityQueryFilter struct {
	Query *string
}

PlainEntityQueryFilter struct

func (*PlainEntityQueryFilter) Apply

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

Apply ...

type PlainEntityResolver

type PlainEntityResolver interface {
	ShortText(ctx context.Context, obj *PlainEntity) (string, error)
}

type PlainEntityResultType

type PlainEntityResultType struct {
	EntityResultType
}

PlainEntityResultType struct

func QueryPlainEntitiesHandler

QueryPlainEntitiesHandler handler

type PlainEntityResultTypeResolver

type PlainEntityResultTypeResolver interface {
	Items(ctx context.Context, obj *PlainEntityResultType) ([]*PlainEntity, error)
	Count(ctx context.Context, obj *PlainEntityResultType) (int, error)
}

type PlainEntitySortType

type PlainEntitySortType struct {
	ID           *ObjectSortType `json:"id"`
	IDMin        *ObjectSortType `json:"idMin"`
	IDMax        *ObjectSortType `json:"idMax"`
	Date         *ObjectSortType `json:"date"`
	DateMin      *ObjectSortType `json:"dateMin"`
	DateMax      *ObjectSortType `json:"dateMax"`
	Text         *ObjectSortType `json:"text"`
	TextMin      *ObjectSortType `json:"textMin"`
	TextMax      *ObjectSortType `json:"textMax"`
	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"`
}

func (PlainEntitySortType) Apply

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

Apply method

func (PlainEntitySortType) ApplyWithAlias

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

ApplyWithAlias method

type QueryCompaniesHandlerOptions

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

QueryCompaniesHandlerOptions struct

type QueryCompanyHandlerOptions

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

QueryCompanyHandlerOptions struct

type QueryPlainEntitiesHandlerOptions

type QueryPlainEntitiesHandlerOptions struct {
	Offset *int
	Limit  *int
	Q      *string
	Sort   []*PlainEntitySortType
	Filter *PlainEntityFilterType
}

QueryPlainEntitiesHandlerOptions struct

type QueryPlainEntityHandlerOptions

type QueryPlainEntityHandlerOptions struct {
	ID     *string
	Q      *string
	Filter *PlainEntityFilterType
}

QueryPlainEntityHandlerOptions struct

type QueryResolver

type QueryResolver interface {
	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)
	TaskCategory(ctx context.Context, id *string, q *string, filter *TaskCategoryFilterType) (*TaskCategory, error)
	TaskCategories(ctx context.Context, offset *int, limit *int, q *string, sort []*TaskCategorySortType, filter *TaskCategoryFilterType) (*TaskCategoryResultType, error)
	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)
	PlainEntity(ctx context.Context, id *string, q *string, filter *PlainEntityFilterType) (*PlainEntity, error)
	PlainEntities(ctx context.Context, offset *int, limit *int, q *string, sort []*PlainEntitySortType, filter *PlainEntityFilterType) (*PlainEntityResultType, error)
	Hello(ctx context.Context) (string, error)
	TopCompanies(ctx context.Context) ([]*Company, error)
}

type QueryTaskCategoriesHandlerOptions

type QueryTaskCategoriesHandlerOptions struct {
	Offset *int
	Limit  *int
	Q      *string
	Sort   []*TaskCategorySortType
	Filter *TaskCategoryFilterType
}

QueryTaskCategoriesHandlerOptions struct

type QueryTaskCategoryHandlerOptions

type QueryTaskCategoryHandlerOptions struct {
	ID     *string
	Q      *string
	Filter *TaskCategoryFilterType
}

QueryTaskCategoryHandlerOptions struct

type QueryTaskHandlerOptions

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

QueryTaskHandlerOptions struct

type QueryTasksHandlerOptions

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

QueryTasksHandlerOptions struct

type QueryUserHandlerOptions

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

QueryUserHandlerOptions struct

type QueryUsersHandlerOptions

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

QueryUsersHandlerOptions struct

type ResolutionHandlers

type ResolutionHandlers struct {
	OnEvent func(ctx context.Context, r *GeneratedResolver, e *events.Event) 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)

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

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

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

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

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

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

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

	CreateTaskCategory      func(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *TaskCategory, err error)
	UpdateTaskCategory      func(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *TaskCategory, err error)
	DeleteTaskCategory      func(ctx context.Context, r *GeneratedResolver, id string) (item *TaskCategory, err error)
	DeleteAllTaskCategories func(ctx context.Context, r *GeneratedResolver) (bool, error)
	QueryTaskCategory       func(ctx context.Context, r *GeneratedResolver, opts QueryTaskCategoryHandlerOptions) (*TaskCategory, error)
	QueryTaskCategories     func(ctx context.Context, r *GeneratedResolver, opts QueryTaskCategoriesHandlerOptions) (*TaskCategoryResultType, error)

	TaskCategoryTasks func(ctx context.Context, r *GeneratedResolver, obj *TaskCategory) (res []*Task, err 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)

	CompanyCountry func(ctx context.Context, r *GeneratedResolver, obj *Company) (res *Country, err error)

	CompanyReviews func(ctx context.Context, r *GeneratedResolver, obj *Company) (res []*Review, err 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)

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

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

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

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

	CreatePlainEntity      func(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *PlainEntity, err error)
	UpdatePlainEntity      func(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *PlainEntity, err error)
	DeletePlainEntity      func(ctx context.Context, r *GeneratedResolver, id string) (item *PlainEntity, err error)
	DeleteAllPlainEntities func(ctx context.Context, r *GeneratedResolver) (bool, error)
	QueryPlainEntity       func(ctx context.Context, r *GeneratedResolver, opts QueryPlainEntityHandlerOptions) (*PlainEntity, error)
	QueryPlainEntities     func(ctx context.Context, r *GeneratedResolver, opts QueryPlainEntitiesHandlerOptions) (*PlainEntityResultType, error)

	PlainEntityShortText func(ctx context.Context, r *GeneratedResolver, obj *PlainEntity) (res string, err error)
}

ResolutionHandlers struct

func DefaultResolutionHandlers

func DefaultResolutionHandlers() ResolutionHandlers

DefaultResolutionHandlers ...

type ResolverRoot

type ResolverRoot interface {
	Company() CompanyResolver
	CompanyResultType() CompanyResultTypeResolver
	Mutation() MutationResolver
	PlainEntity() PlainEntityResolver
	PlainEntityResultType() PlainEntityResultTypeResolver
	Query() QueryResolver
	Task() TaskResolver
	TaskCategory() TaskCategoryResolver
	TaskCategoryResultType() TaskCategoryResultTypeResolver
	TaskResultType() TaskResultTypeResolver
	User() UserResolver
	UserResultType() UserResultTypeResolver
}

type Review

type Review struct {
	ID          string   `json:"id"`
	ReferenceID string   `json:"referenceID"`
	Company     *Company `json:"company"`
}

func CompanyReviewsHandler

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

CompanyReviewsHandler handler

type SortInfo

type SortInfo struct {
	Field         string
	Direction     string
	IsAggregation bool
}

SortInfo struct

func (*SortInfo) String

func (si *SortInfo) String() string

String method

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;default:false"`
	State        *TaskState `json:"state" gorm:"column:state"`
	DueDate      *time.Time `json:"dueDate" gorm:"column:dueDate"`
	Metas        *string    `json:"metas" gorm:"column:metas;type:text"`
	Meta         *string    `json:"meta" gorm:"column:meta;type:text"`
	AssigneeID   *string    `json:"assigneeId" gorm:"column:assigneeId"`
	OwnerID      *string    `json:"ownerId" gorm:"column:ownerId"`
	ParentTaskID *string    `json:"parentTaskId" gorm:"column:parentTaskId"`
	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"`
	AssigneePreloaded bool  `gorm:"-"`

	Owner *User `json:"owner"`

	ParentTask *Task `json:"parentTask"`

	Subtasks []*Task `json:"subtasks" gorm:"foreignkey:ParentTaskID"`

	Categories []*TaskCategory `json:"categories" gorm:"many2many:taskCategory_tasks;jointable_foreignkey:taskId;association_jointable_foreignkey:categoryId"`
}

Task struct

func CreateTaskHandler

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

CreateTaskHandler handler

func DeleteTaskHandler

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

DeleteTaskHandler handler

func QueryTaskHandler

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

QueryTaskHandler handler

func TaskCategoryTasksHandler

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

TaskCategoryTasksHandler handler

func TaskParentTaskHandler

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

TaskParentTaskHandler handler

func TaskSubtasksHandler

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

TaskSubtasksHandler handler

func UpdateTaskHandler

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

UpdateTaskHandler handler

func UserCreatedTasksHandler

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

UserCreatedTasksHandler handler

func UserTasksHandler

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

UserTasksHandler handler

func (*Task) IsEntity

func (m *Task) IsEntity()

IsEntity ...

type TaskCategory

type TaskCategory 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"`

	Tasks []*Task `json:"tasks" gorm:"many2many:taskCategory_tasks;jointable_foreignkey:categoryId;association_jointable_foreignkey:taskId"`
}

TaskCategory struct

func CreateTaskCategoryHandler

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

CreateTaskCategoryHandler handler

func DeleteTaskCategoryHandler

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

DeleteTaskCategoryHandler handler

func QueryTaskCategoryHandler

func QueryTaskCategoryHandler(ctx context.Context, r *GeneratedResolver, opts QueryTaskCategoryHandlerOptions) (*TaskCategory, error)

QueryTaskCategoryHandler handler

func TaskCategoriesHandler

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

TaskCategoriesHandler handler

func UpdateTaskCategoryHandler

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

UpdateTaskCategoryHandler handler

func (*TaskCategory) IsEntity

func (m *TaskCategory) IsEntity()

IsEntity ...

type TaskCategoryChanges

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

	TasksIDs []*string
}

TaskCategoryChanges struct

type TaskCategoryFilterType

type TaskCategoryFilterType struct {
	And             []*TaskCategoryFilterType `json:"AND"`
	Or              []*TaskCategoryFilterType `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"`
	Tasks           *TaskFilterType           `json:"tasks"`
}

func (*TaskCategoryFilterType) AndWith

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

func (*TaskCategoryFilterType) Apply

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

Apply method

func (*TaskCategoryFilterType) ApplyWithAlias

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

ApplyWithAlias method

func (*TaskCategoryFilterType) HavingContent

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

HavingContent method

func (*TaskCategoryFilterType) IsEmpty

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

IsEmpty ...

func (*TaskCategoryFilterType) OrWith

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

func (*TaskCategoryFilterType) WhereContent

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

WhereContent ...

type TaskCategoryQueryFilter

type TaskCategoryQueryFilter struct {
	Query *string
}

TaskCategoryQueryFilter struct

func (*TaskCategoryQueryFilter) Apply

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

Apply ...

type TaskCategoryResolver

type TaskCategoryResolver interface {
	Tasks(ctx context.Context, obj *TaskCategory) ([]*Task, error)

	TasksIds(ctx context.Context, obj *TaskCategory) ([]string, error)
	TasksConnection(ctx context.Context, obj *TaskCategory, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) (*TaskResultType, error)
}

type TaskCategoryResultType

type TaskCategoryResultType struct {
	EntityResultType
}

TaskCategoryResultType struct

func QueryTaskCategoriesHandler

QueryTaskCategoriesHandler handler

type TaskCategoryResultTypeResolver

type TaskCategoryResultTypeResolver interface {
	Items(ctx context.Context, obj *TaskCategoryResultType) ([]*TaskCategory, error)
	Count(ctx context.Context, obj *TaskCategoryResultType) (int, error)
}

type TaskCategorySortType

type TaskCategorySortType 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"`
	TasksIds     *ObjectSortType `json:"tasksIds"`
	TasksIdsMin  *ObjectSortType `json:"tasksIdsMin"`
	TasksIdsMax  *ObjectSortType `json:"tasksIdsMax"`
	Tasks        *TaskSortType   `json:"tasks"`
}

func (TaskCategorySortType) Apply

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

Apply method

func (TaskCategorySortType) ApplyWithAlias

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

ApplyWithAlias method

type TaskCategoryTasks

type TaskCategoryTasks struct {
	CategoryID string
	TaskID     string
}

TaskCategoryTasks struct

func (TaskCategoryTasks) TableName

func (TaskCategoryTasks) TableName() string

TableName ...

type TaskChanges

type TaskChanges struct {
	ID           string
	Title        *string
	Completed    *bool
	State        *TaskState
	DueDate      *time.Time
	Metas        []*TaskMetaInput
	Meta         *TaskMetaInput
	AssigneeID   *string
	OwnerID      *string
	ParentTaskID *string
	UpdatedAt    *time.Time
	CreatedAt    time.Time
	UpdatedBy    *string
	CreatedBy    *string

	SubtasksIDs   []*string
	CategoriesIDs []*string
}

TaskChanges struct

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"`
	State              *TaskState              `json:"state"`
	StateMin           *TaskState              `json:"stateMin"`
	StateMax           *TaskState              `json:"stateMax"`
	StateNe            *TaskState              `json:"state_ne"`
	StateMinNe         *TaskState              `json:"stateMin_ne"`
	StateMaxNe         *TaskState              `json:"stateMax_ne"`
	StateGt            *TaskState              `json:"state_gt"`
	StateMinGt         *TaskState              `json:"stateMin_gt"`
	StateMaxGt         *TaskState              `json:"stateMax_gt"`
	StateLt            *TaskState              `json:"state_lt"`
	StateMinLt         *TaskState              `json:"stateMin_lt"`
	StateMaxLt         *TaskState              `json:"stateMax_lt"`
	StateGte           *TaskState              `json:"state_gte"`
	StateMinGte        *TaskState              `json:"stateMin_gte"`
	StateMaxGte        *TaskState              `json:"stateMax_gte"`
	StateLte           *TaskState              `json:"state_lte"`
	StateMinLte        *TaskState              `json:"stateMin_lte"`
	StateMaxLte        *TaskState              `json:"stateMax_lte"`
	StateIn            []TaskState             `json:"state_in"`
	StateMinIn         []TaskState             `json:"stateMin_in"`
	StateMaxIn         []TaskState             `json:"stateMax_in"`
	StateNull          *bool                   `json:"state_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"`
	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"`
	OwnerID            *string                 `json:"ownerId"`
	OwnerIDMin         *string                 `json:"ownerIdMin"`
	OwnerIDMax         *string                 `json:"ownerIdMax"`
	OwnerIDNe          *string                 `json:"ownerId_ne"`
	OwnerIDMinNe       *string                 `json:"ownerIdMin_ne"`
	OwnerIDMaxNe       *string                 `json:"ownerIdMax_ne"`
	OwnerIDGt          *string                 `json:"ownerId_gt"`
	OwnerIDMinGt       *string                 `json:"ownerIdMin_gt"`
	OwnerIDMaxGt       *string                 `json:"ownerIdMax_gt"`
	OwnerIDLt          *string                 `json:"ownerId_lt"`
	OwnerIDMinLt       *string                 `json:"ownerIdMin_lt"`
	OwnerIDMaxLt       *string                 `json:"ownerIdMax_lt"`
	OwnerIDGte         *string                 `json:"ownerId_gte"`
	OwnerIDMinGte      *string                 `json:"ownerIdMin_gte"`
	OwnerIDMaxGte      *string                 `json:"ownerIdMax_gte"`
	OwnerIDLte         *string                 `json:"ownerId_lte"`
	OwnerIDMinLte      *string                 `json:"ownerIdMin_lte"`
	OwnerIDMaxLte      *string                 `json:"ownerIdMax_lte"`
	OwnerIDIn          []string                `json:"ownerId_in"`
	OwnerIDMinIn       []string                `json:"ownerIdMin_in"`
	OwnerIDMaxIn       []string                `json:"ownerIdMax_in"`
	OwnerIDNull        *bool                   `json:"ownerId_null"`
	ParentTaskID       *string                 `json:"parentTaskId"`
	ParentTaskIDMin    *string                 `json:"parentTaskIdMin"`
	ParentTaskIDMax    *string                 `json:"parentTaskIdMax"`
	ParentTaskIDNe     *string                 `json:"parentTaskId_ne"`
	ParentTaskIDMinNe  *string                 `json:"parentTaskIdMin_ne"`
	ParentTaskIDMaxNe  *string                 `json:"parentTaskIdMax_ne"`
	ParentTaskIDGt     *string                 `json:"parentTaskId_gt"`
	ParentTaskIDMinGt  *string                 `json:"parentTaskIdMin_gt"`
	ParentTaskIDMaxGt  *string                 `json:"parentTaskIdMax_gt"`
	ParentTaskIDLt     *string                 `json:"parentTaskId_lt"`
	ParentTaskIDMinLt  *string                 `json:"parentTaskIdMin_lt"`
	ParentTaskIDMaxLt  *string                 `json:"parentTaskIdMax_lt"`
	ParentTaskIDGte    *string                 `json:"parentTaskId_gte"`
	ParentTaskIDMinGte *string                 `json:"parentTaskIdMin_gte"`
	ParentTaskIDMaxGte *string                 `json:"parentTaskIdMax_gte"`
	ParentTaskIDLte    *string                 `json:"parentTaskId_lte"`
	ParentTaskIDMinLte *string                 `json:"parentTaskIdMin_lte"`
	ParentTaskIDMaxLte *string                 `json:"parentTaskIdMax_lte"`
	ParentTaskIDIn     []string                `json:"parentTaskId_in"`
	ParentTaskIDMinIn  []string                `json:"parentTaskIdMin_in"`
	ParentTaskIDMaxIn  []string                `json:"parentTaskIdMax_in"`
	ParentTaskIDNull   *bool                   `json:"parentTaskId_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"`
	Owner              *UserFilterType         `json:"owner"`
	ParentTask         *TaskFilterType         `json:"parentTask"`
	Subtasks           *TaskFilterType         `json:"subtasks"`
	Categories         *TaskCategoryFilterType `json:"categories"`
}

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

Apply method

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

ApplyWithAlias method

func (*TaskFilterType) HavingContent

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

HavingContent method

func (*TaskFilterType) IsEmpty

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

IsEmpty ...

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{})

WhereContent ...

type TaskMeta

type TaskMeta struct {
	Key   string  `json:"key"`
	Value *string `json:"value"`
}

func TaskMetaHandler

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

TaskMetaHandler handler

func TaskMetasHandler

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

TaskMetasHandler handler

type TaskMetaInput

type TaskMetaInput struct {
	Key   string  `json:"key"`
	Value *string `json:"value"`
}

type TaskQueryFilter

type TaskQueryFilter struct {
	Query *string
}

TaskQueryFilter struct

func (*TaskQueryFilter) Apply

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

Apply ...

type TaskResolver

type TaskResolver interface {
	Metas(ctx context.Context, obj *Task) ([]*TaskMeta, error)
	Meta(ctx context.Context, obj *Task) (*TaskMeta, error)
	Assignee(ctx context.Context, obj *Task) (*User, error)
	Owner(ctx context.Context, obj *Task) (*User, error)
	ParentTask(ctx context.Context, obj *Task) (*Task, error)
	Subtasks(ctx context.Context, obj *Task) ([]*Task, error)
	Categories(ctx context.Context, obj *Task) ([]*TaskCategory, error)

	SubtasksIds(ctx context.Context, obj *Task) ([]string, error)
	SubtasksConnection(ctx context.Context, obj *Task, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) (*TaskResultType, error)
	CategoriesIds(ctx context.Context, obj *Task) ([]string, error)
	CategoriesConnection(ctx context.Context, obj *Task, offset *int, limit *int, q *string, sort []*TaskCategorySortType, filter *TaskCategoryFilterType) (*TaskCategoryResultType, error)
}

type TaskResultType

type TaskResultType struct {
	EntityResultType
}

TaskResultType struct

func QueryTasksHandler

QueryTasksHandler handler

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"`
	State            *ObjectSortType       `json:"state"`
	StateMin         *ObjectSortType       `json:"stateMin"`
	StateMax         *ObjectSortType       `json:"stateMax"`
	DueDate          *ObjectSortType       `json:"dueDate"`
	DueDateMin       *ObjectSortType       `json:"dueDateMin"`
	DueDateMax       *ObjectSortType       `json:"dueDateMax"`
	Metas            *ObjectSortType       `json:"metas"`
	MetasMin         *ObjectSortType       `json:"metasMin"`
	MetasMax         *ObjectSortType       `json:"metasMax"`
	Meta             *ObjectSortType       `json:"meta"`
	MetaMin          *ObjectSortType       `json:"metaMin"`
	MetaMax          *ObjectSortType       `json:"metaMax"`
	AssigneeID       *ObjectSortType       `json:"assigneeId"`
	AssigneeIDMin    *ObjectSortType       `json:"assigneeIdMin"`
	AssigneeIDMax    *ObjectSortType       `json:"assigneeIdMax"`
	OwnerID          *ObjectSortType       `json:"ownerId"`
	OwnerIDMin       *ObjectSortType       `json:"ownerIdMin"`
	OwnerIDMax       *ObjectSortType       `json:"ownerIdMax"`
	ParentTaskID     *ObjectSortType       `json:"parentTaskId"`
	ParentTaskIDMin  *ObjectSortType       `json:"parentTaskIdMin"`
	ParentTaskIDMax  *ObjectSortType       `json:"parentTaskIdMax"`
	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"`
	SubtasksIds      *ObjectSortType       `json:"subtasksIds"`
	SubtasksIdsMin   *ObjectSortType       `json:"subtasksIdsMin"`
	SubtasksIdsMax   *ObjectSortType       `json:"subtasksIdsMax"`
	CategoriesIds    *ObjectSortType       `json:"categoriesIds"`
	CategoriesIdsMin *ObjectSortType       `json:"categoriesIdsMin"`
	CategoriesIdsMax *ObjectSortType       `json:"categoriesIdsMax"`
	Assignee         *UserSortType         `json:"assignee"`
	Owner            *UserSortType         `json:"owner"`
	ParentTask       *TaskSortType         `json:"parentTask"`
	Subtasks         *TaskSortType         `json:"subtasks"`
	Categories       *TaskCategorySortType `json:"categories"`
}

func (TaskSortType) Apply

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

Apply method

func (TaskSortType) ApplyWithAlias

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

ApplyWithAlias method

type TaskState

type TaskState string
const (
	TaskStateCreated    TaskState = "CREATED"
	TaskStateInProgress TaskState = "IN_PROGRESS"
	TaskStateResolved   TaskState = "RESOLVED"
)

func (TaskState) IsValid

func (e TaskState) IsValid() bool

func (TaskState) MarshalGQL

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

func (TaskState) String

func (e TaskState) String() string

func (*TaskState) UnmarshalGQL

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

type User

type User struct {
	ID         string     `json:"id" gorm:"column:id;primary_key"`
	Code       *int       `json:"code" gorm:"column:code"`
	Email      *string    `json:"email" gorm:"column:email;unique"`
	FirstName  *string    `json:"firstName" gorm:"column:firstName"`
	LastName   *string    `json:"lastName" gorm:"column:lastName"`
	AddressRaw *string    `json:"addressRaw" gorm:"column:addressRaw"`
	Salary     *int       `json:"salary" gorm:"column:salary"`
	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"`

	Employers          []*Company `json:"employers" gorm:"many2many:user_employers;jointable_foreignkey:employeeId;association_jointable_foreignkey:employerId"`
	EmployersPreloaded bool       `gorm:"-"`

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

	CreatedTasks []*Task `json:"createdTasks" gorm:"foreignkey:OwnerID"`
}

User struct

func CompanyEmployeesHandler

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

CompanyEmployeesHandler handler

func CreateUserHandler

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

CreateUserHandler handler

func DeleteUserHandler

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

DeleteUserHandler handler

func QueryUserHandler

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

QueryUserHandler handler

func TaskAssigneeHandler

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

TaskAssigneeHandler handler

func TaskOwnerHandler

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

TaskOwnerHandler handler

func UpdateUserHandler

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

UpdateUserHandler handler

func (*User) IsEntity

func (m *User) IsEntity()

IsEntity ...

type UserChanges

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

	EmployersIDs    []*string
	TasksIDs        []*string
	CreatedTasksIDs []*string
}

UserChanges struct

type UserEmployers

type UserEmployers struct {
	EmployeeID string
	EmployerID string
}

UserEmployers struct

func (UserEmployers) TableName

func (UserEmployers) TableName() string

TableName ...

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"`
	Code                *int               `json:"code"`
	CodeMin             *int               `json:"codeMin"`
	CodeMax             *int               `json:"codeMax"`
	CodeAvg             *int               `json:"codeAvg"`
	CodeNe              *int               `json:"code_ne"`
	CodeMinNe           *int               `json:"codeMin_ne"`
	CodeMaxNe           *int               `json:"codeMax_ne"`
	CodeAvgNe           *int               `json:"codeAvg_ne"`
	CodeGt              *int               `json:"code_gt"`
	CodeMinGt           *int               `json:"codeMin_gt"`
	CodeMaxGt           *int               `json:"codeMax_gt"`
	CodeAvgGt           *int               `json:"codeAvg_gt"`
	CodeLt              *int               `json:"code_lt"`
	CodeMinLt           *int               `json:"codeMin_lt"`
	CodeMaxLt           *int               `json:"codeMax_lt"`
	CodeAvgLt           *int               `json:"codeAvg_lt"`
	CodeGte             *int               `json:"code_gte"`
	CodeMinGte          *int               `json:"codeMin_gte"`
	CodeMaxGte          *int               `json:"codeMax_gte"`
	CodeAvgGte          *int               `json:"codeAvg_gte"`
	CodeLte             *int               `json:"code_lte"`
	CodeMinLte          *int               `json:"codeMin_lte"`
	CodeMaxLte          *int               `json:"codeMax_lte"`
	CodeAvgLte          *int               `json:"codeAvg_lte"`
	CodeIn              []int              `json:"code_in"`
	CodeMinIn           []int              `json:"codeMin_in"`
	CodeMaxIn           []int              `json:"codeMax_in"`
	CodeAvgIn           []int              `json:"codeAvg_in"`
	CodeNull            *bool              `json:"code_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"`
	AddressRaw          *string            `json:"addressRaw"`
	AddressRawMin       *string            `json:"addressRawMin"`
	AddressRawMax       *string            `json:"addressRawMax"`
	AddressRawNe        *string            `json:"addressRaw_ne"`
	AddressRawMinNe     *string            `json:"addressRawMin_ne"`
	AddressRawMaxNe     *string            `json:"addressRawMax_ne"`
	AddressRawGt        *string            `json:"addressRaw_gt"`
	AddressRawMinGt     *string            `json:"addressRawMin_gt"`
	AddressRawMaxGt     *string            `json:"addressRawMax_gt"`
	AddressRawLt        *string            `json:"addressRaw_lt"`
	AddressRawMinLt     *string            `json:"addressRawMin_lt"`
	AddressRawMaxLt     *string            `json:"addressRawMax_lt"`
	AddressRawGte       *string            `json:"addressRaw_gte"`
	AddressRawMinGte    *string            `json:"addressRawMin_gte"`
	AddressRawMaxGte    *string            `json:"addressRawMax_gte"`
	AddressRawLte       *string            `json:"addressRaw_lte"`
	AddressRawMinLte    *string            `json:"addressRawMin_lte"`
	AddressRawMaxLte    *string            `json:"addressRawMax_lte"`
	AddressRawIn        []string           `json:"addressRaw_in"`
	AddressRawMinIn     []string           `json:"addressRawMin_in"`
	AddressRawMaxIn     []string           `json:"addressRawMax_in"`
	AddressRawLike      *string            `json:"addressRaw_like"`
	AddressRawMinLike   *string            `json:"addressRawMin_like"`
	AddressRawMaxLike   *string            `json:"addressRawMax_like"`
	AddressRawPrefix    *string            `json:"addressRaw_prefix"`
	AddressRawMinPrefix *string            `json:"addressRawMin_prefix"`
	AddressRawMaxPrefix *string            `json:"addressRawMax_prefix"`
	AddressRawSuffix    *string            `json:"addressRaw_suffix"`
	AddressRawMinSuffix *string            `json:"addressRawMin_suffix"`
	AddressRawMaxSuffix *string            `json:"addressRawMax_suffix"`
	AddressRawNull      *bool              `json:"addressRaw_null"`
	Salary              *int               `json:"salary"`
	SalaryMin           *int               `json:"salaryMin"`
	SalaryMax           *int               `json:"salaryMax"`
	SalaryAvg           *int               `json:"salaryAvg"`
	SalaryNe            *int               `json:"salary_ne"`
	SalaryMinNe         *int               `json:"salaryMin_ne"`
	SalaryMaxNe         *int               `json:"salaryMax_ne"`
	SalaryAvgNe         *int               `json:"salaryAvg_ne"`
	SalaryGt            *int               `json:"salary_gt"`
	SalaryMinGt         *int               `json:"salaryMin_gt"`
	SalaryMaxGt         *int               `json:"salaryMax_gt"`
	SalaryAvgGt         *int               `json:"salaryAvg_gt"`
	SalaryLt            *int               `json:"salary_lt"`
	SalaryMinLt         *int               `json:"salaryMin_lt"`
	SalaryMaxLt         *int               `json:"salaryMax_lt"`
	SalaryAvgLt         *int               `json:"salaryAvg_lt"`
	SalaryGte           *int               `json:"salary_gte"`
	SalaryMinGte        *int               `json:"salaryMin_gte"`
	SalaryMaxGte        *int               `json:"salaryMax_gte"`
	SalaryAvgGte        *int               `json:"salaryAvg_gte"`
	SalaryLte           *int               `json:"salary_lte"`
	SalaryMinLte        *int               `json:"salaryMin_lte"`
	SalaryMaxLte        *int               `json:"salaryMax_lte"`
	SalaryAvgLte        *int               `json:"salaryAvg_lte"`
	SalaryIn            []int              `json:"salary_in"`
	SalaryMinIn         []int              `json:"salaryMin_in"`
	SalaryMaxIn         []int              `json:"salaryMax_in"`
	SalaryAvgIn         []int              `json:"salaryAvg_in"`
	SalaryNull          *bool              `json:"salary_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"`
	Employers           *CompanyFilterType `json:"employers"`
	Tasks               *TaskFilterType    `json:"tasks"`
	CreatedTasks        *TaskFilterType    `json:"createdTasks"`
}

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

Apply method

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

ApplyWithAlias method

func (*UserFilterType) HavingContent

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

HavingContent method

func (*UserFilterType) IsEmpty

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

IsEmpty ...

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{})

WhereContent ...

type UserQueryFilter

type UserQueryFilter struct {
	Query *string
}

UserQueryFilter struct

func (*UserQueryFilter) Apply

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

Apply ...

type UserResolver

type UserResolver interface {
	Address(ctx context.Context, obj *User) (*Address, error)

	Employers(ctx context.Context, obj *User) ([]*Company, error)
	Tasks(ctx context.Context, obj *User) ([]*Task, error)
	CreatedTasks(ctx context.Context, obj *User) ([]*Task, error)

	EmployersIds(ctx context.Context, obj *User) ([]string, error)
	EmployersConnection(ctx context.Context, obj *User, offset *int, limit *int, q *string, sort []*CompanySortType, filter *CompanyFilterType) (*CompanyResultType, 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)
	CreatedTasksIds(ctx context.Context, obj *User) ([]string, error)
	CreatedTasksConnection(ctx context.Context, obj *User, offset *int, limit *int, q *string, sort []*TaskSortType, filter *TaskFilterType) (*TaskResultType, error)
}

type UserResultType

type UserResultType struct {
	EntityResultType
}

UserResultType struct

func QueryUsersHandler

QueryUsersHandler handler

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"`
	Code               *ObjectSortType  `json:"code"`
	CodeMin            *ObjectSortType  `json:"codeMin"`
	CodeMax            *ObjectSortType  `json:"codeMax"`
	CodeAvg            *ObjectSortType  `json:"codeAvg"`
	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"`
	AddressRaw         *ObjectSortType  `json:"addressRaw"`
	AddressRawMin      *ObjectSortType  `json:"addressRawMin"`
	AddressRawMax      *ObjectSortType  `json:"addressRawMax"`
	Salary             *ObjectSortType  `json:"salary"`
	SalaryMin          *ObjectSortType  `json:"salaryMin"`
	SalaryMax          *ObjectSortType  `json:"salaryMax"`
	SalaryAvg          *ObjectSortType  `json:"salaryAvg"`
	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"`
	EmployersIds       *ObjectSortType  `json:"employersIds"`
	EmployersIdsMin    *ObjectSortType  `json:"employersIdsMin"`
	EmployersIdsMax    *ObjectSortType  `json:"employersIdsMax"`
	TasksIds           *ObjectSortType  `json:"tasksIds"`
	TasksIdsMin        *ObjectSortType  `json:"tasksIdsMin"`
	TasksIdsMax        *ObjectSortType  `json:"tasksIdsMax"`
	CreatedTasksIds    *ObjectSortType  `json:"createdTasksIds"`
	CreatedTasksIdsMin *ObjectSortType  `json:"createdTasksIdsMin"`
	CreatedTasksIdsMax *ObjectSortType  `json:"createdTasksIdsMax"`
	Employers          *CompanySortType `json:"employers"`
	Tasks              *TaskSortType    `json:"tasks"`
	CreatedTasks       *TaskSortType    `json:"createdTasks"`
}

func (UserSortType) Apply

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

Apply method

func (UserSortType) ApplyWithAlias

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

ApplyWithAlias method

Jump to

Keyboard shortcuts

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