Documentation ¶
Index ¶
- func GetNestedExdatesPipeline(authorProvider author.Provider) []bson.M
- func GetNestedObjectsPipeline(authorProvider author.Provider) []bson.M
- func GetNestedReasonPipeline(authorProvider author.Provider) []bson.M
- func GetNestedTypePipeline(authorProvider author.Provider) []bson.M
- type API
- type AggregationEntitiesResult
- type AggregationResult
- type BulkConnectorCreateRequestItem
- type BulkConnectorDeleteRequestItem
- type BulkDeleteRequestItem
- type BulkEntityCreateRequestItem
- type BulkEntityDeleteRequestItem
- type BulkUpdateRequestItem
- type CalendarByEntityIDRequest
- type CalendarResponse
- type CreateRequest
- type DeleteByNameRequest
- type EditRequest
- type EntitiesListRequest
- type FindByEntityIDRequest
- type ListRequest
- type MongoQuery
- type NullableTime
- type PatchRequest
- type Response
- type Store
- type UpdateRequest
- type Validator
- func (v *Validator) ValidateCalendarRequest(sl validator.StructLevel)
- func (v *Validator) ValidateConnectorCreateRequest(ctx context.Context, sl validator.StructLevel)
- func (v *Validator) ValidateCreateRequest(sl validator.StructLevel)
- func (v *Validator) ValidateEditRequest(ctx context.Context, sl validator.StructLevel)
- func (v *Validator) ValidateEntityCreateRequest(ctx context.Context, sl validator.StructLevel)
- func (v *Validator) ValidatePatchRequest(ctx context.Context, sl validator.StructLevel)
- func (v *Validator) ValidateUpdateRequest(sl validator.StructLevel)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetNestedExdatesPipeline ¶
func GetNestedObjectsPipeline ¶
func GetNestedReasonPipeline ¶
Types ¶
type API ¶
type API interface { common.BulkCrudAPI Patch(c *gin.Context) DeleteByName(c *gin.Context) ListByEntityID(c *gin.Context) CalendarByEntityID(c *gin.Context) ListEntities(c *gin.Context) BulkEntityCreate(c *gin.Context) BulkEntityDelete(c *gin.Context) BulkConnectorCreate(c *gin.Context) BulkConnectorDelete(c *gin.Context) }
func NewApi ¶
func NewApi( store Store, computeChan chan<- rpc.PbehaviorRecomputeEvent, transformer common.PatternFieldsTransformer, logger zerolog.Logger, ) API
type AggregationEntitiesResult ¶
type AggregationEntitiesResult struct { Data []entity.Entity `bson:"data" json:"data"` TotalCount int64 `bson:"total_count" json:"total_count"` }
func (*AggregationEntitiesResult) GetData ¶
func (r *AggregationEntitiesResult) GetData() interface{}
func (*AggregationEntitiesResult) GetTotal ¶
func (r *AggregationEntitiesResult) GetTotal() int64
type AggregationResult ¶
type AggregationResult struct { Data []Response `bson:"data" json:"data"` TotalCount int64 `bson:"total_count" json:"total_count"` }
func (*AggregationResult) GetData ¶
func (r *AggregationResult) GetData() interface{}
func (*AggregationResult) GetTotal ¶
func (r *AggregationResult) GetTotal() int64
type BulkConnectorCreateRequestItem ¶
type BulkConnectorCreateRequestItem struct { Author string `json:"author" swaggerignore:"true"` Entities []string `json:"entities" binding:"required,notblank"` Origin string `json:"origin" binding:"required,max=255"` Start *datetime.CpsTime `json:"tstart" binding:"required" swaggertype:"integer"` Stop *datetime.CpsTime `json:"tstop" binding:"required" swaggertype:"integer"` Comment string `json:"comment" binding:"required"` Name string `json:"name" binding:"required,max=255"` Reason string `json:"reason" binding:"required"` Type string `json:"type" binding:"required"` Color string `json:"color" binding:"iscolororempty"` }
type BulkConnectorDeleteRequestItem ¶
type BulkConnectorDeleteRequestItem struct { Author string `json:"author" swaggerignore:"true"` Entities []string `json:"entities" binding:"required,notblank"` Origin string `json:"origin" binding:"required"` Start *datetime.CpsTime `json:"tstart" binding:"required" swaggertype:"integer"` Stop *datetime.CpsTime `json:"tstop" binding:"required" swaggertype:"integer"` Comment string `json:"comment" binding:"required"` }
type BulkDeleteRequestItem ¶
type BulkDeleteRequestItem struct {
ID string `json:"_id" binding:"required"`
}
type BulkEntityCreateRequestItem ¶
type BulkEntityCreateRequestItem struct { Author string `json:"author" swaggerignore:"true"` Entity string `json:"entity" binding:"required"` Origin string `json:"origin" binding:"required,max=255"` Name string `json:"name" binding:"required,max=255"` Reason string `json:"reason" binding:"required"` Start *datetime.CpsTime `json:"tstart" binding:"required" swaggertype:"integer"` Stop *datetime.CpsTime `json:"tstop" swaggertype:"integer"` Type string `json:"type" binding:"required"` Color string `json:"color" binding:"iscolororempty"` Comment string `json:"comment"` }
type BulkEntityDeleteRequestItem ¶
type BulkUpdateRequestItem ¶
type BulkUpdateRequestItem struct { EditRequest ID string `json:"_id" binding:"required"` }
type CalendarByEntityIDRequest ¶
type CalendarResponse ¶
type CreateRequest ¶
type CreateRequest struct { EditRequest ID string `json:"_id" binding:"id"` }
type DeleteByNameRequest ¶
type DeleteByNameRequest struct {
Name string `form:"name" json:"name" binding:"required"`
}
type EditRequest ¶
type EditRequest struct { Author string `json:"author" swaggerignore:"true"` Enabled *bool `json:"enabled" binding:"required"` Name string `json:"name" binding:"required,max=255"` Reason string `json:"reason" binding:"required"` RRule string `json:"rrule"` Start *datetime.CpsTime `json:"tstart" binding:"required" swaggertype:"integer"` Stop *datetime.CpsTime `json:"tstop" swaggertype:"integer"` Type string `json:"type" binding:"required"` Exdates []pbehaviorexception.ExdateRequest `json:"exdates" binding:"dive"` Exceptions []string `json:"exceptions"` Color string `json:"color" binding:"iscolororempty"` common.EntityPatternFieldsRequest }
type EntitiesListRequest ¶
type EntitiesListRequest struct { pagination.FilteredQuery SortBy string `form:"sort_by" json:"sort_by" binding:"oneoforempty=_id name type"` }
type FindByEntityIDRequest ¶
type ListRequest ¶
type ListRequest struct { pagination.FilteredQuery SortBy string `` /* 185-byte string literal not displayed */ }
type MongoQuery ¶
type MongoQuery struct {
// contains filtered or unexported fields
}
func CreateMongoQuery ¶
func CreateMongoQuery(client mongo.DbClient, authorProvider author.Provider) MongoQuery
func (*MongoQuery) CreateAggregationPipeline ¶
func (q *MongoQuery) CreateAggregationPipeline(ctx context.Context, r ListRequest) ([]bson.M, error)
type NullableTime ¶
type NullableTime struct {
// contains filtered or unexported fields
}
func (*NullableTime) UnmarshalJSON ¶
func (t *NullableTime) UnmarshalJSON(data []byte) error
type PatchRequest ¶
type PatchRequest struct { ID string `json:"-"` Author string `json:"author" swaggerignore:"true"` Name *string `json:"name"` Enabled *bool `json:"enabled"` Reason *string `json:"reason"` Type *string `json:"type"` Start *int64 `json:"tstart" swaggertype:"integer"` Stop NullableTime `json:"tstop" swaggertype:"integer"` RRule *string `json:"rrule"` Exdates []pbehaviorexception.ExdateRequest `json:"exdates" binding:"dive"` Exceptions []string `json:"exceptions"` Color *string `json:"color"` EntityPattern pattern.Entity `json:"entity_pattern"` CorporateEntityPattern *string `json:"corporate_entity_pattern"` CorporatePattern *savedpattern.SavedPattern `json:"-"` }
type Response ¶
type Response struct { ID string `bson:"_id" json:"_id"` Author *author.Author `bson:"author" json:"author"` Comments []pbehaviorcomment.Response `bson:"comments" json:"comments"` Enabled bool `bson:"enabled" json:"enabled"` Name string `bson:"name" json:"name"` Reason *pbehaviorreason.Response `bson:"reason" json:"reason"` RRule string `bson:"rrule" json:"rrule"` RRuleEnd *datetime.CpsTime `bson:"rrule_end" json:"rrule_end" swaggertype:"integer"` Start *datetime.CpsTime `bson:"tstart" json:"tstart" swaggertype:"integer"` Stop *datetime.CpsTime `bson:"tstop" json:"tstop" swaggertype:"integer"` Created *datetime.CpsTime `bson:"created" json:"created" swaggertype:"integer"` Updated *datetime.CpsTime `bson:"updated" json:"updated" swaggertype:"integer"` Type *pbehaviortype.Response `bson:"type" json:"type"` Color string `bson:"color" json:"color"` Exdates []pbehaviorexception.Exdate `bson:"exdates" json:"exdates"` Exceptions []pbehaviorexception.Response `bson:"exceptions" json:"exceptions"` LastAlarmDate *datetime.CpsTime `bson:"last_alarm_date,omitempty" json:"last_alarm_date" swaggertype:"integer"` AlarmCount int64 `bson:"alarm_count" json:"alarm_count"` // IsActiveStatus represents if pbehavior is in action for current time. IsActiveStatus *bool `bson:"-" json:"is_active_status,omitempty"` Origin string `bson:"origin" json:"origin"` Editable *bool `bson:"editable,omitempty" json:"editable,omitempty"` savedpattern.EntityPatternFields `bson:",inline"` RRuleComputedStart *datetime.CpsTime `bson:"rrule_cstart" json:"-"` }
type Store ¶
type Store interface { Insert(ctx context.Context, r CreateRequest) (*Response, error) Find(ctx context.Context, r ListRequest) (*AggregationResult, error) FindByEntityID(ctx context.Context, entity libtypes.Entity, r FindByEntityIDRequest) ([]Response, error) CalendarByEntityID(ctx context.Context, entity libtypes.Entity, r CalendarByEntityIDRequest) ([]CalendarResponse, error) GetOneBy(ctx context.Context, id string) (*Response, error) FindEntities(ctx context.Context, pbhID string, request EntitiesListRequest) (*AggregationEntitiesResult, error) Update(ctx context.Context, r UpdateRequest) (*Response, error) UpdateByPatch(ctx context.Context, r PatchRequest) (*Response, error) Delete(ctx context.Context, id, userID string) (bool, error) DeleteByName(ctx context.Context, name, userID string) (string, error) FindEntity(ctx context.Context, entityId string) (*libtypes.Entity, error) EntityInsert(ctx context.Context, r BulkEntityCreateRequestItem) (*Response, error) EntityDelete(ctx context.Context, r BulkEntityDeleteRequestItem) (string, error) ConnectorCreate(ctx context.Context, r BulkConnectorCreateRequestItem) (*Response, error) ConnectorDelete(ctx context.Context, r BulkConnectorDeleteRequestItem) (string, error) }
func NewStore ¶
func NewStore( dbClient mongo.DbClient, entityTypeResolver pbehavior.EntityTypeResolver, pbhTypeComputer pbehavior.TypeComputer, timezoneConfigProvider config.TimezoneConfigProvider, authorProvider author.Provider, ) Store
type UpdateRequest ¶
type UpdateRequest struct { EditRequest ID string `json:"-"` }
type Validator ¶
type Validator struct {
// contains filtered or unexported fields
}
func (*Validator) ValidateCalendarRequest ¶
func (v *Validator) ValidateCalendarRequest(sl validator.StructLevel)
func (*Validator) ValidateConnectorCreateRequest ¶
func (*Validator) ValidateCreateRequest ¶
func (v *Validator) ValidateCreateRequest(sl validator.StructLevel)
func (*Validator) ValidateEditRequest ¶
func (*Validator) ValidateEntityCreateRequest ¶
func (*Validator) ValidatePatchRequest ¶
Click to show internal directories.
Click to hide internal directories.