gen

package
v0.1.12 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: MIT Imports: 35 Imported by: 0

Documentation

Index

Constants

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

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

Variables

Functions

func AddMutationEvent added in v0.1.2

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

func ApplyChanges

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

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

func AutoMigrate added in v0.1.2

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

func DeleteAllNotificationsHandler

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

func EnrichContextWithMutations added in v0.1.2

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

func FinishMutationContext added in v0.1.2

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

func GetHTTPServeMux

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

func GetItem added in v0.1.0

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

func GetItemForRelation added in v0.1.0

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

func GetLoaders

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

func GetPrincipalIDFromContext

func GetPrincipalIDFromContext(ctx context.Context) *string

func Marshal_Any

func Marshal_Any(v interface{}) graphql.Marshaler

func Migrate added in v0.1.2

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

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

func RollbackMutationContext added in v0.1.2

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

func TableName

func TableName(name string) string

func Unmarshal_Any

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

Types

type ComplexityRoot

type ComplexityRoot struct {
	Mutation struct {
		CreateNotification            func(childComplexity int, input map[string]interface{}) int
		CreateNotificationBatchUpdate func(childComplexity int, input NotificationBatchUpdateCreateInput) int
		DeleteAllNotifications        func(childComplexity int) int
		DeleteNotification            func(childComplexity int, id string) int
		SeenNotification              func(childComplexity int, id string) int
		SeenNotifications             func(childComplexity int, principal string, channel *string, reference *string, referenceID *string) int
		UpdateNotification            func(childComplexity int, id string, input map[string]interface{}) int
	}

	Notification struct {
		Channel     func(childComplexity int) int
		CreatedAt   func(childComplexity int) int
		CreatedBy   func(childComplexity int) int
		Date        func(childComplexity int) int
		GroupID     func(childComplexity int) int
		ID          func(childComplexity int) int
		Message     func(childComplexity int) int
		Principal   func(childComplexity int) int
		Reference   func(childComplexity int) int
		ReferenceID func(childComplexity int) int
		Seen        func(childComplexity int) int
		Subject     func(childComplexity int) int
		URL         func(childComplexity int) int
		UpdatedAt   func(childComplexity int) int
		UpdatedBy   func(childComplexity int) int
	}

	NotificationBatchUpdate struct {
		ID func(childComplexity int) int
	}

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

	Query struct {
		Notification  func(childComplexity int, id *string, q *string, filter *NotificationFilterType) int
		Notifications func(childComplexity int, offset *int, limit *int, q *string, sort []*NotificationSortType, filter *NotificationFilterType) int
		// contains filtered or unexported fields
	}
	// contains filtered or unexported fields
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DB

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

DB ...

func NewDB

func NewDB(db *gorm.DB) *DB

NewDB ...

func NewDBFromEnvVars

func NewDBFromEnvVars() *DB

NewDBFromEnvVars Create database client using DATABASE_URL environment variable

func NewDBWithString

func NewDBWithString(urlString string) *DB

NewDBWithString creates database instance with database URL string

func (*DB) AutoMigrate

func (db *DB) AutoMigrate() error

AutoMigrate run basic gorm automigration

func (*DB) Close

func (db *DB) Close() error

Close ...

func (*DB) Migrate added in v0.1.2

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

Migrate run migrations using automigrate

func (*DB) Ping

func (db *DB) Ping() error

func (*DB) Query

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

Query ...

type DirectiveRoot

type DirectiveRoot struct {
}

type EntityFilter added in v0.1.0

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

type EntityFilterQuery added in v0.1.0

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

type EntityResultType added in v0.1.0

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

func (*EntityResultType) GetCount added in v0.1.0

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

GetCount ...

func (*EntityResultType) GetItems added in v0.1.0

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

GetResultTypeItems ...

func (*EntityResultType) GetSortStrings added in v0.1.0

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

type EntitySort added in v0.1.0

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

type EventController added in v0.1.10

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

func NewEventController added in v0.1.10

func NewEventController() (ec EventController, err error)

func (*EventController) SendEvent added in v0.1.10

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

SendEvent ...

type GeneratedMutationResolver

type GeneratedMutationResolver struct{ *GeneratedResolver }

func (*GeneratedMutationResolver) CreateNotification

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

func (*GeneratedMutationResolver) DeleteAllNotifications

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

func (*GeneratedMutationResolver) DeleteNotification

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

func (*GeneratedMutationResolver) UpdateNotification

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

type GeneratedNotificationResultTypeResolver

type GeneratedNotificationResultTypeResolver struct{ *GeneratedResolver }

func (*GeneratedNotificationResultTypeResolver) Count

func (*GeneratedNotificationResultTypeResolver) Items

type GeneratedQueryResolver

type GeneratedQueryResolver struct{ *GeneratedResolver }

func (*GeneratedQueryResolver) Notification

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

func (*GeneratedQueryResolver) Notifications

func (r *GeneratedQueryResolver) Notifications(ctx context.Context, offset *int, limit *int, q *string, sort []*NotificationSortType, filter *NotificationFilterType) (*NotificationResultType, error)

type GeneratedResolver

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

func (*GeneratedResolver) GetDB added in v0.1.2

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

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

func (*GeneratedResolver) NotificationsCount added in v0.1.10

func (r *GeneratedResolver) NotificationsCount(ctx context.Context, opts QueryNotificationsHandlerOptions) (count int, err error)

func (*GeneratedResolver) NotificationsItems added in v0.1.10

func (r *GeneratedResolver) NotificationsItems(ctx context.Context, opts QueryNotificationsHandlerOptions) (res []*Notification, err error)

type GetItemsOptions added in v0.1.0

type GetItemsOptions struct {
	Alias      string
	Preloaders []string
}

type JWTClaims

type JWTClaims struct {
	jwtgo.StandardClaims
	Scope *string
}

func GetJWTClaimsFromContext added in v0.1.1

func GetJWTClaimsFromContext(ctx context.Context) *JWTClaims

func (*JWTClaims) HasScope added in v0.1.1

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

func (*JWTClaims) Scopes added in v0.1.1

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

type MutationEvents added in v0.1.2

type MutationEvents struct {
	Events []events.Event
}

func GetMutationEventStore added in v0.1.2

func GetMutationEventStore(ctx context.Context) *MutationEvents

type MutationResolver

type MutationResolver interface {
	CreateNotification(ctx context.Context, input map[string]interface{}) (*Notification, error)
	UpdateNotification(ctx context.Context, id string, input map[string]interface{}) (*Notification, error)
	DeleteNotification(ctx context.Context, id string) (*Notification, error)
	DeleteAllNotifications(ctx context.Context) (bool, error)
	SeenNotification(ctx context.Context, id string) (*Notification, error)
	SeenNotifications(ctx context.Context, principal string, channel *string, reference *string, referenceID *string) (bool, error)
	CreateNotificationBatchUpdate(ctx context.Context, input NotificationBatchUpdateCreateInput) (*NotificationBatchUpdate, error)
}

type Notification

type Notification struct {
	ID          string     `json:"id" gorm:"column:id;primary_key"`
	GroupID     *string    `json:"groupID" gorm:"column:groupID"`
	Subject     *string    `json:"subject" gorm:"column:subject;type:text"`
	Message     string     `json:"message" gorm:"column:message;type:text"`
	Seen        bool       `json:"seen" gorm:"column:seen"`
	URL         *string    `json:"url" gorm:"column:url"`
	Channel     *string    `json:"channel" gorm:"column:channel"`
	Principal   *string    `json:"principal" gorm:"column:principal;index:basic_fetch"`
	Reference   *string    `json:"reference" gorm:"column:reference"`
	ReferenceID *string    `json:"referenceID" gorm:"column:referenceID"`
	Date        time.Time  `json:"date" gorm:"column:date;index:basic_fetch"`
	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"`
}

func CreateNotificationHandler

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

func DeleteNotificationHandler

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

func UpdateNotificationHandler

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

func (*Notification) Is_Entity

func (m *Notification) Is_Entity()

type NotificationBatchUpdate added in v0.1.10

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

type NotificationBatchUpdateCreateInput added in v0.1.10

type NotificationBatchUpdateCreateInput struct {
	Seen        bool    `json:"seen"`
	Principal   string  `json:"principal"`
	Channel     *string `json:"channel"`
	Reference   *string `json:"reference"`
	ReferenceID *string `json:"referenceID"`
}

type NotificationChanges

type NotificationChanges struct {
	ID          string
	GroupID     *string
	Subject     *string
	Message     string
	Seen        bool
	URL         *string
	Channel     *string
	Principal   *string
	Reference   *string
	ReferenceID *string
	Date        time.Time
	UpdatedAt   *time.Time
	CreatedAt   time.Time
	UpdatedBy   *string
	CreatedBy   *string
}

type NotificationFilterType

type NotificationFilterType struct {
	And                  []*NotificationFilterType `json:"AND"`
	Or                   []*NotificationFilterType `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"`
	IDNotIn              []string                  `json:"id_not_in"`
	IDMinNotIn           []string                  `json:"idMin_not_in"`
	IDMaxNotIn           []string                  `json:"idMax_not_in"`
	IDNull               *bool                     `json:"id_null"`
	GroupID              *string                   `json:"groupID"`
	GroupIDMin           *string                   `json:"groupIDMin"`
	GroupIDMax           *string                   `json:"groupIDMax"`
	GroupIDNe            *string                   `json:"groupID_ne"`
	GroupIDMinNe         *string                   `json:"groupIDMin_ne"`
	GroupIDMaxNe         *string                   `json:"groupIDMax_ne"`
	GroupIDGt            *string                   `json:"groupID_gt"`
	GroupIDMinGt         *string                   `json:"groupIDMin_gt"`
	GroupIDMaxGt         *string                   `json:"groupIDMax_gt"`
	GroupIDLt            *string                   `json:"groupID_lt"`
	GroupIDMinLt         *string                   `json:"groupIDMin_lt"`
	GroupIDMaxLt         *string                   `json:"groupIDMax_lt"`
	GroupIDGte           *string                   `json:"groupID_gte"`
	GroupIDMinGte        *string                   `json:"groupIDMin_gte"`
	GroupIDMaxGte        *string                   `json:"groupIDMax_gte"`
	GroupIDLte           *string                   `json:"groupID_lte"`
	GroupIDMinLte        *string                   `json:"groupIDMin_lte"`
	GroupIDMaxLte        *string                   `json:"groupIDMax_lte"`
	GroupIDIn            []string                  `json:"groupID_in"`
	GroupIDMinIn         []string                  `json:"groupIDMin_in"`
	GroupIDMaxIn         []string                  `json:"groupIDMax_in"`
	GroupIDNotIn         []string                  `json:"groupID_not_in"`
	GroupIDMinNotIn      []string                  `json:"groupIDMin_not_in"`
	GroupIDMaxNotIn      []string                  `json:"groupIDMax_not_in"`
	GroupIDNull          *bool                     `json:"groupID_null"`
	Subject              *string                   `json:"subject"`
	SubjectMin           *string                   `json:"subjectMin"`
	SubjectMax           *string                   `json:"subjectMax"`
	SubjectNe            *string                   `json:"subject_ne"`
	SubjectMinNe         *string                   `json:"subjectMin_ne"`
	SubjectMaxNe         *string                   `json:"subjectMax_ne"`
	SubjectGt            *string                   `json:"subject_gt"`
	SubjectMinGt         *string                   `json:"subjectMin_gt"`
	SubjectMaxGt         *string                   `json:"subjectMax_gt"`
	SubjectLt            *string                   `json:"subject_lt"`
	SubjectMinLt         *string                   `json:"subjectMin_lt"`
	SubjectMaxLt         *string                   `json:"subjectMax_lt"`
	SubjectGte           *string                   `json:"subject_gte"`
	SubjectMinGte        *string                   `json:"subjectMin_gte"`
	SubjectMaxGte        *string                   `json:"subjectMax_gte"`
	SubjectLte           *string                   `json:"subject_lte"`
	SubjectMinLte        *string                   `json:"subjectMin_lte"`
	SubjectMaxLte        *string                   `json:"subjectMax_lte"`
	SubjectIn            []string                  `json:"subject_in"`
	SubjectMinIn         []string                  `json:"subjectMin_in"`
	SubjectMaxIn         []string                  `json:"subjectMax_in"`
	SubjectNotIn         []string                  `json:"subject_not_in"`
	SubjectMinNotIn      []string                  `json:"subjectMin_not_in"`
	SubjectMaxNotIn      []string                  `json:"subjectMax_not_in"`
	SubjectLike          *string                   `json:"subject_like"`
	SubjectMinLike       *string                   `json:"subjectMin_like"`
	SubjectMaxLike       *string                   `json:"subjectMax_like"`
	SubjectPrefix        *string                   `json:"subject_prefix"`
	SubjectMinPrefix     *string                   `json:"subjectMin_prefix"`
	SubjectMaxPrefix     *string                   `json:"subjectMax_prefix"`
	SubjectSuffix        *string                   `json:"subject_suffix"`
	SubjectMinSuffix     *string                   `json:"subjectMin_suffix"`
	SubjectMaxSuffix     *string                   `json:"subjectMax_suffix"`
	SubjectNull          *bool                     `json:"subject_null"`
	Message              *string                   `json:"message"`
	MessageMin           *string                   `json:"messageMin"`
	MessageMax           *string                   `json:"messageMax"`
	MessageNe            *string                   `json:"message_ne"`
	MessageMinNe         *string                   `json:"messageMin_ne"`
	MessageMaxNe         *string                   `json:"messageMax_ne"`
	MessageGt            *string                   `json:"message_gt"`
	MessageMinGt         *string                   `json:"messageMin_gt"`
	MessageMaxGt         *string                   `json:"messageMax_gt"`
	MessageLt            *string                   `json:"message_lt"`
	MessageMinLt         *string                   `json:"messageMin_lt"`
	MessageMaxLt         *string                   `json:"messageMax_lt"`
	MessageGte           *string                   `json:"message_gte"`
	MessageMinGte        *string                   `json:"messageMin_gte"`
	MessageMaxGte        *string                   `json:"messageMax_gte"`
	MessageLte           *string                   `json:"message_lte"`
	MessageMinLte        *string                   `json:"messageMin_lte"`
	MessageMaxLte        *string                   `json:"messageMax_lte"`
	MessageIn            []string                  `json:"message_in"`
	MessageMinIn         []string                  `json:"messageMin_in"`
	MessageMaxIn         []string                  `json:"messageMax_in"`
	MessageNotIn         []string                  `json:"message_not_in"`
	MessageMinNotIn      []string                  `json:"messageMin_not_in"`
	MessageMaxNotIn      []string                  `json:"messageMax_not_in"`
	MessageLike          *string                   `json:"message_like"`
	MessageMinLike       *string                   `json:"messageMin_like"`
	MessageMaxLike       *string                   `json:"messageMax_like"`
	MessagePrefix        *string                   `json:"message_prefix"`
	MessageMinPrefix     *string                   `json:"messageMin_prefix"`
	MessageMaxPrefix     *string                   `json:"messageMax_prefix"`
	MessageSuffix        *string                   `json:"message_suffix"`
	MessageMinSuffix     *string                   `json:"messageMin_suffix"`
	MessageMaxSuffix     *string                   `json:"messageMax_suffix"`
	MessageNull          *bool                     `json:"message_null"`
	Seen                 *bool                     `json:"seen"`
	SeenMin              *bool                     `json:"seenMin"`
	SeenMax              *bool                     `json:"seenMax"`
	SeenNe               *bool                     `json:"seen_ne"`
	SeenMinNe            *bool                     `json:"seenMin_ne"`
	SeenMaxNe            *bool                     `json:"seenMax_ne"`
	SeenGt               *bool                     `json:"seen_gt"`
	SeenMinGt            *bool                     `json:"seenMin_gt"`
	SeenMaxGt            *bool                     `json:"seenMax_gt"`
	SeenLt               *bool                     `json:"seen_lt"`
	SeenMinLt            *bool                     `json:"seenMin_lt"`
	SeenMaxLt            *bool                     `json:"seenMax_lt"`
	SeenGte              *bool                     `json:"seen_gte"`
	SeenMinGte           *bool                     `json:"seenMin_gte"`
	SeenMaxGte           *bool                     `json:"seenMax_gte"`
	SeenLte              *bool                     `json:"seen_lte"`
	SeenMinLte           *bool                     `json:"seenMin_lte"`
	SeenMaxLte           *bool                     `json:"seenMax_lte"`
	SeenIn               []bool                    `json:"seen_in"`
	SeenMinIn            []bool                    `json:"seenMin_in"`
	SeenMaxIn            []bool                    `json:"seenMax_in"`
	SeenNotIn            []bool                    `json:"seen_not_in"`
	SeenMinNotIn         []bool                    `json:"seenMin_not_in"`
	SeenMaxNotIn         []bool                    `json:"seenMax_not_in"`
	SeenNull             *bool                     `json:"seen_null"`
	URL                  *string                   `json:"url"`
	URLMin               *string                   `json:"urlMin"`
	URLMax               *string                   `json:"urlMax"`
	URLNe                *string                   `json:"url_ne"`
	URLMinNe             *string                   `json:"urlMin_ne"`
	URLMaxNe             *string                   `json:"urlMax_ne"`
	URLGt                *string                   `json:"url_gt"`
	URLMinGt             *string                   `json:"urlMin_gt"`
	URLMaxGt             *string                   `json:"urlMax_gt"`
	URLLt                *string                   `json:"url_lt"`
	URLMinLt             *string                   `json:"urlMin_lt"`
	URLMaxLt             *string                   `json:"urlMax_lt"`
	URLGte               *string                   `json:"url_gte"`
	URLMinGte            *string                   `json:"urlMin_gte"`
	URLMaxGte            *string                   `json:"urlMax_gte"`
	URLLte               *string                   `json:"url_lte"`
	URLMinLte            *string                   `json:"urlMin_lte"`
	URLMaxLte            *string                   `json:"urlMax_lte"`
	URLIn                []string                  `json:"url_in"`
	URLMinIn             []string                  `json:"urlMin_in"`
	URLMaxIn             []string                  `json:"urlMax_in"`
	URLNotIn             []string                  `json:"url_not_in"`
	URLMinNotIn          []string                  `json:"urlMin_not_in"`
	URLMaxNotIn          []string                  `json:"urlMax_not_in"`
	URLLike              *string                   `json:"url_like"`
	URLMinLike           *string                   `json:"urlMin_like"`
	URLMaxLike           *string                   `json:"urlMax_like"`
	URLPrefix            *string                   `json:"url_prefix"`
	URLMinPrefix         *string                   `json:"urlMin_prefix"`
	URLMaxPrefix         *string                   `json:"urlMax_prefix"`
	URLSuffix            *string                   `json:"url_suffix"`
	URLMinSuffix         *string                   `json:"urlMin_suffix"`
	URLMaxSuffix         *string                   `json:"urlMax_suffix"`
	URLNull              *bool                     `json:"url_null"`
	Channel              *string                   `json:"channel"`
	ChannelMin           *string                   `json:"channelMin"`
	ChannelMax           *string                   `json:"channelMax"`
	ChannelNe            *string                   `json:"channel_ne"`
	ChannelMinNe         *string                   `json:"channelMin_ne"`
	ChannelMaxNe         *string                   `json:"channelMax_ne"`
	ChannelGt            *string                   `json:"channel_gt"`
	ChannelMinGt         *string                   `json:"channelMin_gt"`
	ChannelMaxGt         *string                   `json:"channelMax_gt"`
	ChannelLt            *string                   `json:"channel_lt"`
	ChannelMinLt         *string                   `json:"channelMin_lt"`
	ChannelMaxLt         *string                   `json:"channelMax_lt"`
	ChannelGte           *string                   `json:"channel_gte"`
	ChannelMinGte        *string                   `json:"channelMin_gte"`
	ChannelMaxGte        *string                   `json:"channelMax_gte"`
	ChannelLte           *string                   `json:"channel_lte"`
	ChannelMinLte        *string                   `json:"channelMin_lte"`
	ChannelMaxLte        *string                   `json:"channelMax_lte"`
	ChannelIn            []string                  `json:"channel_in"`
	ChannelMinIn         []string                  `json:"channelMin_in"`
	ChannelMaxIn         []string                  `json:"channelMax_in"`
	ChannelNotIn         []string                  `json:"channel_not_in"`
	ChannelMinNotIn      []string                  `json:"channelMin_not_in"`
	ChannelMaxNotIn      []string                  `json:"channelMax_not_in"`
	ChannelLike          *string                   `json:"channel_like"`
	ChannelMinLike       *string                   `json:"channelMin_like"`
	ChannelMaxLike       *string                   `json:"channelMax_like"`
	ChannelPrefix        *string                   `json:"channel_prefix"`
	ChannelMinPrefix     *string                   `json:"channelMin_prefix"`
	ChannelMaxPrefix     *string                   `json:"channelMax_prefix"`
	ChannelSuffix        *string                   `json:"channel_suffix"`
	ChannelMinSuffix     *string                   `json:"channelMin_suffix"`
	ChannelMaxSuffix     *string                   `json:"channelMax_suffix"`
	ChannelNull          *bool                     `json:"channel_null"`
	Principal            *string                   `json:"principal"`
	PrincipalMin         *string                   `json:"principalMin"`
	PrincipalMax         *string                   `json:"principalMax"`
	PrincipalNe          *string                   `json:"principal_ne"`
	PrincipalMinNe       *string                   `json:"principalMin_ne"`
	PrincipalMaxNe       *string                   `json:"principalMax_ne"`
	PrincipalGt          *string                   `json:"principal_gt"`
	PrincipalMinGt       *string                   `json:"principalMin_gt"`
	PrincipalMaxGt       *string                   `json:"principalMax_gt"`
	PrincipalLt          *string                   `json:"principal_lt"`
	PrincipalMinLt       *string                   `json:"principalMin_lt"`
	PrincipalMaxLt       *string                   `json:"principalMax_lt"`
	PrincipalGte         *string                   `json:"principal_gte"`
	PrincipalMinGte      *string                   `json:"principalMin_gte"`
	PrincipalMaxGte      *string                   `json:"principalMax_gte"`
	PrincipalLte         *string                   `json:"principal_lte"`
	PrincipalMinLte      *string                   `json:"principalMin_lte"`
	PrincipalMaxLte      *string                   `json:"principalMax_lte"`
	PrincipalIn          []string                  `json:"principal_in"`
	PrincipalMinIn       []string                  `json:"principalMin_in"`
	PrincipalMaxIn       []string                  `json:"principalMax_in"`
	PrincipalNotIn       []string                  `json:"principal_not_in"`
	PrincipalMinNotIn    []string                  `json:"principalMin_not_in"`
	PrincipalMaxNotIn    []string                  `json:"principalMax_not_in"`
	PrincipalLike        *string                   `json:"principal_like"`
	PrincipalMinLike     *string                   `json:"principalMin_like"`
	PrincipalMaxLike     *string                   `json:"principalMax_like"`
	PrincipalPrefix      *string                   `json:"principal_prefix"`
	PrincipalMinPrefix   *string                   `json:"principalMin_prefix"`
	PrincipalMaxPrefix   *string                   `json:"principalMax_prefix"`
	PrincipalSuffix      *string                   `json:"principal_suffix"`
	PrincipalMinSuffix   *string                   `json:"principalMin_suffix"`
	PrincipalMaxSuffix   *string                   `json:"principalMax_suffix"`
	PrincipalNull        *bool                     `json:"principal_null"`
	Reference            *string                   `json:"reference"`
	ReferenceMin         *string                   `json:"referenceMin"`
	ReferenceMax         *string                   `json:"referenceMax"`
	ReferenceNe          *string                   `json:"reference_ne"`
	ReferenceMinNe       *string                   `json:"referenceMin_ne"`
	ReferenceMaxNe       *string                   `json:"referenceMax_ne"`
	ReferenceGt          *string                   `json:"reference_gt"`
	ReferenceMinGt       *string                   `json:"referenceMin_gt"`
	ReferenceMaxGt       *string                   `json:"referenceMax_gt"`
	ReferenceLt          *string                   `json:"reference_lt"`
	ReferenceMinLt       *string                   `json:"referenceMin_lt"`
	ReferenceMaxLt       *string                   `json:"referenceMax_lt"`
	ReferenceGte         *string                   `json:"reference_gte"`
	ReferenceMinGte      *string                   `json:"referenceMin_gte"`
	ReferenceMaxGte      *string                   `json:"referenceMax_gte"`
	ReferenceLte         *string                   `json:"reference_lte"`
	ReferenceMinLte      *string                   `json:"referenceMin_lte"`
	ReferenceMaxLte      *string                   `json:"referenceMax_lte"`
	ReferenceIn          []string                  `json:"reference_in"`
	ReferenceMinIn       []string                  `json:"referenceMin_in"`
	ReferenceMaxIn       []string                  `json:"referenceMax_in"`
	ReferenceNotIn       []string                  `json:"reference_not_in"`
	ReferenceMinNotIn    []string                  `json:"referenceMin_not_in"`
	ReferenceMaxNotIn    []string                  `json:"referenceMax_not_in"`
	ReferenceLike        *string                   `json:"reference_like"`
	ReferenceMinLike     *string                   `json:"referenceMin_like"`
	ReferenceMaxLike     *string                   `json:"referenceMax_like"`
	ReferencePrefix      *string                   `json:"reference_prefix"`
	ReferenceMinPrefix   *string                   `json:"referenceMin_prefix"`
	ReferenceMaxPrefix   *string                   `json:"referenceMax_prefix"`
	ReferenceSuffix      *string                   `json:"reference_suffix"`
	ReferenceMinSuffix   *string                   `json:"referenceMin_suffix"`
	ReferenceMaxSuffix   *string                   `json:"referenceMax_suffix"`
	ReferenceNull        *bool                     `json:"reference_null"`
	ReferenceID          *string                   `json:"referenceID"`
	ReferenceIDMin       *string                   `json:"referenceIDMin"`
	ReferenceIDMax       *string                   `json:"referenceIDMax"`
	ReferenceIDNe        *string                   `json:"referenceID_ne"`
	ReferenceIDMinNe     *string                   `json:"referenceIDMin_ne"`
	ReferenceIDMaxNe     *string                   `json:"referenceIDMax_ne"`
	ReferenceIDGt        *string                   `json:"referenceID_gt"`
	ReferenceIDMinGt     *string                   `json:"referenceIDMin_gt"`
	ReferenceIDMaxGt     *string                   `json:"referenceIDMax_gt"`
	ReferenceIDLt        *string                   `json:"referenceID_lt"`
	ReferenceIDMinLt     *string                   `json:"referenceIDMin_lt"`
	ReferenceIDMaxLt     *string                   `json:"referenceIDMax_lt"`
	ReferenceIDGte       *string                   `json:"referenceID_gte"`
	ReferenceIDMinGte    *string                   `json:"referenceIDMin_gte"`
	ReferenceIDMaxGte    *string                   `json:"referenceIDMax_gte"`
	ReferenceIDLte       *string                   `json:"referenceID_lte"`
	ReferenceIDMinLte    *string                   `json:"referenceIDMin_lte"`
	ReferenceIDMaxLte    *string                   `json:"referenceIDMax_lte"`
	ReferenceIDIn        []string                  `json:"referenceID_in"`
	ReferenceIDMinIn     []string                  `json:"referenceIDMin_in"`
	ReferenceIDMaxIn     []string                  `json:"referenceIDMax_in"`
	ReferenceIDNotIn     []string                  `json:"referenceID_not_in"`
	ReferenceIDMinNotIn  []string                  `json:"referenceIDMin_not_in"`
	ReferenceIDMaxNotIn  []string                  `json:"referenceIDMax_not_in"`
	ReferenceIDLike      *string                   `json:"referenceID_like"`
	ReferenceIDMinLike   *string                   `json:"referenceIDMin_like"`
	ReferenceIDMaxLike   *string                   `json:"referenceIDMax_like"`
	ReferenceIDPrefix    *string                   `json:"referenceID_prefix"`
	ReferenceIDMinPrefix *string                   `json:"referenceIDMin_prefix"`
	ReferenceIDMaxPrefix *string                   `json:"referenceIDMax_prefix"`
	ReferenceIDSuffix    *string                   `json:"referenceID_suffix"`
	ReferenceIDMinSuffix *string                   `json:"referenceIDMin_suffix"`
	ReferenceIDMaxSuffix *string                   `json:"referenceIDMax_suffix"`
	ReferenceIDNull      *bool                     `json:"referenceID_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"`
	DateNotIn            []*time.Time              `json:"date_not_in"`
	DateMinNotIn         []*time.Time              `json:"dateMin_not_in"`
	DateMaxNotIn         []*time.Time              `json:"dateMax_not_in"`
	DateNull             *bool                     `json:"date_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"`
	UpdatedAtNotIn       []*time.Time              `json:"updatedAt_not_in"`
	UpdatedAtMinNotIn    []*time.Time              `json:"updatedAtMin_not_in"`
	UpdatedAtMaxNotIn    []*time.Time              `json:"updatedAtMax_not_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"`
	CreatedAtNotIn       []*time.Time              `json:"createdAt_not_in"`
	CreatedAtMinNotIn    []*time.Time              `json:"createdAtMin_not_in"`
	CreatedAtMaxNotIn    []*time.Time              `json:"createdAtMax_not_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"`
	UpdatedByNotIn       []string                  `json:"updatedBy_not_in"`
	UpdatedByMinNotIn    []string                  `json:"updatedByMin_not_in"`
	UpdatedByMaxNotIn    []string                  `json:"updatedByMax_not_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"`
	CreatedByNotIn       []string                  `json:"createdBy_not_in"`
	CreatedByMinNotIn    []string                  `json:"createdByMin_not_in"`
	CreatedByMaxNotIn    []string                  `json:"createdByMax_not_in"`
	CreatedByNull        *bool                     `json:"createdBy_null"`
}

func (*NotificationFilterType) AndWith

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

func (*NotificationFilterType) Apply

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

func (*NotificationFilterType) ApplyWithAlias

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

func (*NotificationFilterType) HavingContent added in v0.1.2

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

func (*NotificationFilterType) IsEmpty

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

func (*NotificationFilterType) OrWith

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

func (*NotificationFilterType) WhereContent

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

type NotificationQueryFilter

type NotificationQueryFilter struct {
	Query *string
}

func (*NotificationQueryFilter) Apply

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

type NotificationResultType

type NotificationResultType struct {
	EntityResultType
}

type NotificationResultTypeResolver

type NotificationResultTypeResolver interface {
	Items(ctx context.Context, obj *NotificationResultType) ([]*Notification, error)
	Count(ctx context.Context, obj *NotificationResultType) (int, error)
}

type NotificationSortType

type NotificationSortType struct {
	ID             *ObjectSortType `json:"id"`
	IDMin          *ObjectSortType `json:"idMin"`
	IDMax          *ObjectSortType `json:"idMax"`
	GroupID        *ObjectSortType `json:"groupID"`
	GroupIDMin     *ObjectSortType `json:"groupIDMin"`
	GroupIDMax     *ObjectSortType `json:"groupIDMax"`
	Subject        *ObjectSortType `json:"subject"`
	SubjectMin     *ObjectSortType `json:"subjectMin"`
	SubjectMax     *ObjectSortType `json:"subjectMax"`
	Message        *ObjectSortType `json:"message"`
	MessageMin     *ObjectSortType `json:"messageMin"`
	MessageMax     *ObjectSortType `json:"messageMax"`
	Seen           *ObjectSortType `json:"seen"`
	SeenMin        *ObjectSortType `json:"seenMin"`
	SeenMax        *ObjectSortType `json:"seenMax"`
	URL            *ObjectSortType `json:"url"`
	URLMin         *ObjectSortType `json:"urlMin"`
	URLMax         *ObjectSortType `json:"urlMax"`
	Channel        *ObjectSortType `json:"channel"`
	ChannelMin     *ObjectSortType `json:"channelMin"`
	ChannelMax     *ObjectSortType `json:"channelMax"`
	Principal      *ObjectSortType `json:"principal"`
	PrincipalMin   *ObjectSortType `json:"principalMin"`
	PrincipalMax   *ObjectSortType `json:"principalMax"`
	Reference      *ObjectSortType `json:"reference"`
	ReferenceMin   *ObjectSortType `json:"referenceMin"`
	ReferenceMax   *ObjectSortType `json:"referenceMax"`
	ReferenceID    *ObjectSortType `json:"referenceID"`
	ReferenceIDMin *ObjectSortType `json:"referenceIDMin"`
	ReferenceIDMax *ObjectSortType `json:"referenceIDMax"`
	Date           *ObjectSortType `json:"date"`
	DateMin        *ObjectSortType `json:"dateMin"`
	DateMax        *ObjectSortType `json:"dateMax"`
	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 (NotificationSortType) Apply added in v0.1.0

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

func (NotificationSortType) ApplyWithAlias added in v0.1.0

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

type ObjectSortType added in v0.1.0

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

func (ObjectSortType) IsValid added in v0.1.0

func (e ObjectSortType) IsValid() bool

func (ObjectSortType) MarshalGQL added in v0.1.0

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

func (ObjectSortType) String added in v0.1.0

func (e ObjectSortType) String() string

func (*ObjectSortType) UnmarshalGQL added in v0.1.0

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

type QueryNotificationHandlerOptions

type QueryNotificationHandlerOptions struct {
	ID     *string
	Q      *string
	Filter *NotificationFilterType
}

type QueryNotificationsHandlerOptions

type QueryNotificationsHandlerOptions struct {
	Offset *int
	Limit  *int
	Q      *string
	Sort   []*NotificationSortType
	Filter *NotificationFilterType
}

type QueryResolver

type QueryResolver interface {
	Notification(ctx context.Context, id *string, q *string, filter *NotificationFilterType) (*Notification, error)
	Notifications(ctx context.Context, offset *int, limit *int, q *string, sort []*NotificationSortType, filter *NotificationFilterType) (*NotificationResultType, error)
	// contains filtered or unexported methods
}

type ResolutionHandlers

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

	CreateNotification     func(ctx context.Context, r *GeneratedResolver, input map[string]interface{}) (item *Notification, err error)
	UpdateNotification     func(ctx context.Context, r *GeneratedResolver, id string, input map[string]interface{}) (item *Notification, err error)
	DeleteNotification     func(ctx context.Context, r *GeneratedResolver, id string) (item *Notification, err error)
	DeleteAllNotifications func(ctx context.Context, r *GeneratedResolver) (bool, error)
	QueryNotification      func(ctx context.Context, r *GeneratedResolver, opts QueryNotificationHandlerOptions) (*Notification, error)
	QueryNotifications     func(ctx context.Context, r *GeneratedResolver, opts QueryNotificationsHandlerOptions) (*NotificationResultType, error)
}

func DefaultResolutionHandlers

func DefaultResolutionHandlers() ResolutionHandlers

type ResolverRoot

type ResolverRoot interface {
	Mutation() MutationResolver
	NotificationResultType() NotificationResultTypeResolver
	Query() QueryResolver
}

type SortInfo added in v0.1.2

type SortInfo struct {
	Field         string
	Direction     string
	IsAggregation bool
}

func (*SortInfo) String added in v0.1.2

func (si *SortInfo) String() string

Jump to

Keyboard shortcuts

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