mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 10:06:24 +05:00
661 lines
20 KiB
Go
661 lines
20 KiB
Go
/*
|
|
Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
|
|
Copyright (C) ITsysCOM GmbH
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>
|
|
*/
|
|
|
|
package engine
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/cgrates/cgrates/utils"
|
|
)
|
|
|
|
// Structs here are one to one mapping of the tables and fields
|
|
// to be used by gorm orm
|
|
|
|
type ResourceMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
UsageTTL string `index:"4" re:".*"`
|
|
Limit string `index:"5" re:".*"`
|
|
AllocationMessage string `index:"6" re:".*"`
|
|
Blocker bool `index:"7" re:".*"`
|
|
Stored bool `index:"8" re:".*"`
|
|
ThresholdIDs string `index:"9" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (ResourceMdl) TableName() string {
|
|
return utils.TBLTPResources
|
|
}
|
|
|
|
type IPMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
TTL string `index:"4" re:".*"`
|
|
Stored bool `index:"5" re:".*"`
|
|
PoolID string `index:"6" re:".*"`
|
|
PoolFilterIDs string `index:"7" re:".*"`
|
|
PoolType string `index:"8" re:".*"`
|
|
PoolRange string `index:"9" re:".*"`
|
|
PoolStrategy string `index:"10" re:".*"`
|
|
PoolMessage string `index:"11" re:".*"`
|
|
PoolWeights string `index:"12" re:".*"`
|
|
PoolBlockers string `index:"13" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (IPMdl) TableName() string {
|
|
return utils.TBLTPIPs
|
|
}
|
|
|
|
type StatMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
Blockers string `index:"4" re:".*"`
|
|
QueueLength int `index:"5" re:".*"`
|
|
TTL string `index:"6" re:".*"`
|
|
MinItems int `index:"7" re:".*"`
|
|
Stored bool `index:"8" re:".*"`
|
|
ThresholdIDs string `index:"9" re:".*"`
|
|
MetricIDs string `index:"10" re:".*"`
|
|
MetricFilterIDs string `index:"11" re:".*"`
|
|
MetricBlockers string `index:"12" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (StatMdl) TableName() string {
|
|
return utils.TBLTPStats
|
|
}
|
|
|
|
type RankingMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Schedule string `index:"2" re:".*"`
|
|
StatIDs string `index:"3" re:".*"`
|
|
MetricIDs string `index:"4" re:".*"`
|
|
Sorting string `index:"5" re:".*"`
|
|
SortingParameters string `index:"6" re:".*"`
|
|
Stored bool `index:"7" re:".*"`
|
|
ThresholdIDs string `index:"8" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (RankingMdl) TableName() string {
|
|
return utils.TBLTPRankings
|
|
}
|
|
|
|
type TrendMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Schedule string `index:"2" re:".*"`
|
|
StatID string `index:"3" re:".*"`
|
|
Metrics string `index:"4" re:".*"`
|
|
TTL string `index:"5" re:".*"`
|
|
QueueLength int `index:"6" re:".*"`
|
|
MinItems int `index:"7" re:".*"`
|
|
CorrelationType string `index:"8" re:".*"`
|
|
Tolerance float64 `index:"9" re:".*"`
|
|
Stored bool `index:"10" re:".*"`
|
|
ThresholdIDs string `index:"11" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (TrendMdl) TableName() string {
|
|
return utils.TBLTPTrends
|
|
}
|
|
|
|
type ThresholdMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
MaxHits int `index:"4" re:".*"`
|
|
MinHits int `index:"5" re:".*"`
|
|
MinSleep string `index:"6" re:".*"`
|
|
Blocker bool `index:"7" re:".*"`
|
|
ActionProfileIDs string `index:"8" re:".*"`
|
|
Async bool `index:"9" re:".*"`
|
|
EeIDs string `index:"10" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (ThresholdMdl) TableName() string {
|
|
return utils.TBLTPThresholds
|
|
}
|
|
|
|
type FilterMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Type string `index:"2" re:".*"`
|
|
Element string `index:"3" re:".*"`
|
|
Values string `index:"4" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (FilterMdl) TableName() string {
|
|
return utils.TBLTPFilters
|
|
}
|
|
|
|
type CDRsql struct {
|
|
ID int64
|
|
RunID string
|
|
OriginHost string
|
|
Source string
|
|
OriginID string
|
|
TOR string
|
|
RequestType string
|
|
Tenant string
|
|
Category string
|
|
Account string
|
|
Subject string
|
|
Destination string
|
|
SetupTime time.Time
|
|
AnswerTime *time.Time
|
|
Usage int64
|
|
ExtraFields string
|
|
CostSource string
|
|
Cost float64
|
|
CostDetails string
|
|
ExtraInfo string
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
DeletedAt *time.Time
|
|
}
|
|
|
|
func (t CDRsql) TableName() string {
|
|
return utils.CDRsTBL
|
|
}
|
|
|
|
func (t CDRsql) AsMapStringInterface() (out map[string]any) {
|
|
out = make(map[string]any)
|
|
// out["id"] = t.ID // ignore ID
|
|
|
|
out["run_id"] = t.RunID
|
|
out["origin_host"] = t.OriginHost
|
|
out["source"] = t.Source
|
|
out["origin_id"] = t.OriginID
|
|
out["tor"] = t.TOR
|
|
out["request_type"] = t.RequestType
|
|
out["tenant"] = t.Tenant
|
|
out["category"] = t.Category
|
|
out["account"] = t.Account
|
|
out["subject"] = t.Subject
|
|
out["destination"] = t.Destination
|
|
out["setup_time"] = t.SetupTime
|
|
out["answer_time"] = t.AnswerTime
|
|
out["usage"] = t.Usage
|
|
out["extra_fields"] = t.ExtraFields
|
|
out["cost_source"] = t.CostSource
|
|
out["cost"] = t.Cost
|
|
out["cost_details"] = t.CostDetails
|
|
out["extra_info"] = t.ExtraInfo
|
|
out["created_at"] = t.CreatedAt
|
|
out["updated_at"] = t.UpdatedAt
|
|
// out["deleted_at"] = t.DeletedAt // ignore DeletedAt
|
|
return
|
|
|
|
}
|
|
|
|
type SessionCostsSQL struct {
|
|
ID int64
|
|
RunID string
|
|
OriginHost string
|
|
OriginID string
|
|
CostSource string
|
|
Usage int64
|
|
CostDetails string
|
|
CreatedAt time.Time
|
|
DeletedAt *time.Time
|
|
}
|
|
|
|
func (t SessionCostsSQL) TableName() string {
|
|
return utils.SessionCostsTBL
|
|
}
|
|
|
|
type TBLVersion struct {
|
|
ID uint
|
|
Item string
|
|
Version int64
|
|
}
|
|
|
|
func (t TBLVersion) TableName() string {
|
|
return utils.TBLVersions
|
|
}
|
|
|
|
type RouteMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
Blockers string `index:"4" re:".*"`
|
|
Sorting string `index:"5" re:".*"`
|
|
SortingParameters string `index:"6" re:".*"`
|
|
RouteID string `index:"7" re:".*"`
|
|
RouteFilterIDs string `index:"8" re:".*"`
|
|
RouteAccountIDs string `index:"9" re:".*"`
|
|
RouteRateProfileIDs string `index:"10" re:".*"`
|
|
RouteResourceIDs string `index:"11" re:".*"`
|
|
RouteStatIDs string `index:"12" re:".*"`
|
|
RouteWeights string `index:"13" re:".*"`
|
|
RouteBlockers string `index:"14" re:".*"`
|
|
RouteParameters string `index:"15" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (RouteMdl) TableName() string {
|
|
return utils.TBLTPRoutes
|
|
}
|
|
|
|
type AttributeMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
Blockers string `index:"4" re:".*"`
|
|
AttributeFilterIDs string `index:"5" re:".*"`
|
|
AttributeBlockers string `index:"6" re:".*"`
|
|
Path string `index:"7" re:".*"`
|
|
Type string `index:"8" re:".*"`
|
|
Value string `index:"9" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (AttributeMdl) TableName() string {
|
|
return utils.TBLTPAttributes
|
|
}
|
|
|
|
type ChargerMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
Blockers string `index:"4" re:".*"`
|
|
RunID string `index:"5" re:".*"`
|
|
AttributeIDs string `index:"6" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (ChargerMdl) TableName() string {
|
|
return utils.TBLTPChargers
|
|
}
|
|
|
|
type RateProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
MinCost float64 `index:"4" re:".*"`
|
|
MaxCost float64 `index:"5" re:".*"`
|
|
MaxCostStrategy string `index:"6" re:".*"`
|
|
RateID string `index:"7" re:".*"`
|
|
RateFilterIDs string `index:"8" re:".*"`
|
|
RateActivationTimes string `index:"9" re:".*"`
|
|
RateWeights string `index:"10" re:".*"`
|
|
RateBlocker bool `index:"11" re:".*"`
|
|
RateIntervalStart string `index:"12" re:".*"`
|
|
RateFixedFee float64 `index:"13" re:".*"`
|
|
RateRecurrentFee float64 `index:"14" re:".*"`
|
|
RateUnit string `index:"15" re:".*"`
|
|
RateIncrement string `index:"16" re:".*"`
|
|
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (RateProfileMdl) TableName() string {
|
|
return utils.TBLTPRateProfiles
|
|
}
|
|
|
|
type ActionProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
Blockers string `index:"4" re:".*"`
|
|
Schedule string `index:"5" re:".*"`
|
|
TargetType string `index:"6" re:".*"`
|
|
TargetIDs string `index:"7" re:".*"`
|
|
ActionID string `index:"8" re:".*"`
|
|
ActionFilterIDs string `index:"9" re:".*"`
|
|
ActionTTL string `index:"10" re:".*"`
|
|
ActionType string `index:"11" re:".*"`
|
|
ActionOpts string `index:"12" re:".*"`
|
|
ActionWeights string `index:"13" re:".*"`
|
|
ActionBlockers string `index:"14" re:".*"`
|
|
ActionDiktatsID string `index:"15" re:".*"`
|
|
ActionDiktatsFilterIDs string `index:"16" re:".*"`
|
|
ActionDiktatsOpts string `index:"17" re:".*"`
|
|
ActionDiktatsWeights string `index:"18" re:".*"`
|
|
ActionDiktatsBlockers string `index:"19" re:".*"`
|
|
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (ActionProfileMdl) TableName() string {
|
|
return utils.TBLTPActionProfiles
|
|
}
|
|
|
|
type AccountMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tpid string
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
FilterIDs string `index:"2" re:".*"`
|
|
Weights string `index:"3" re:".*"`
|
|
Blockers string `index:"4" re:".*"`
|
|
Opts string `index:"5" re:".*"`
|
|
BalanceID string `index:"6" re:".*"`
|
|
BalanceFilterIDs string `index:"7" re:".*"`
|
|
BalanceWeights string `index:"8" re:".*"`
|
|
BalanceBlockers string `index:"9" re:".*"`
|
|
BalanceType string `index:"10" re:".*"`
|
|
BalanceUnits string `index:"11" re:".*"`
|
|
BalanceUnitFactors string `index:"12" re:".*"`
|
|
BalanceOpts string `index:"13" re:".*"`
|
|
BalanceCostIncrements string `index:"14" re:".*"`
|
|
BalanceAttributeIDs string `index:"15" re:".*"`
|
|
BalanceRateProfileIDs string `index:"16" re:".*"`
|
|
ThresholdIDs string `index:"17" re:".*"`
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
func (AccountMdl) TableName() string {
|
|
return utils.TBLTPAccounts
|
|
}
|
|
|
|
type AccountJSONMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Account utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (AccountJSONMdl) TableName() string {
|
|
return utils.TBLAccounts
|
|
}
|
|
|
|
type IPProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
IPProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (IPProfileMdl) TableName() string {
|
|
return utils.TBLIPProfiles
|
|
}
|
|
|
|
type IPAllocationMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
IPAllocation utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (IPAllocationMdl) TableName() string {
|
|
return utils.TBLIPAllocations
|
|
}
|
|
|
|
type ActionProfileJSONMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
ActionProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (ActionProfileJSONMdl) TableName() string {
|
|
return utils.TBLActionProfiles
|
|
}
|
|
|
|
type ChargerProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
ChargerProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (ChargerProfileMdl) TableName() string {
|
|
return utils.TBLChargerProfiles
|
|
}
|
|
|
|
type AttributeProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
AttributeProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (AttributeProfileMdl) TableName() string {
|
|
return utils.TBLAttributeProfiles
|
|
}
|
|
|
|
type ResourceProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
ResourceProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (ResourceProfileMdl) TableName() string {
|
|
return utils.TBLResourceProfiles
|
|
}
|
|
|
|
type ResourceJSONMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Resource utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (ResourceJSONMdl) TableName() string {
|
|
return utils.TBLResources
|
|
}
|
|
|
|
type StatQueueProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
StatQueueProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (StatQueueProfileMdl) TableName() string {
|
|
return utils.TBLStatQueueProfiles
|
|
}
|
|
|
|
type StatQueueMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
StatQueue utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (StatQueueMdl) TableName() string {
|
|
return utils.TBLStatQueues
|
|
}
|
|
|
|
type ThresholdProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
ThresholdProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (ThresholdProfileMdl) TableName() string {
|
|
return utils.TBLThresholdProfiles
|
|
}
|
|
|
|
type ThresholdJSONMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Threshold utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (ThresholdJSONMdl) TableName() string {
|
|
return utils.TBLThresholds
|
|
}
|
|
|
|
type FilterJSONMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Filter utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (FilterJSONMdl) TableName() string {
|
|
return utils.TBLFilters
|
|
}
|
|
|
|
type RouteProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
RouteProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (RouteProfileMdl) TableName() string {
|
|
return utils.TBLRouteProfiles
|
|
}
|
|
|
|
// Doesnt include Rates in RateProfile json, Rates taken from RateMdl using foreign keys
|
|
type RateProfileJSONMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
RateProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (RateProfileJSONMdl) TableName() string {
|
|
return utils.TBLRateProfiles
|
|
}
|
|
|
|
type RateMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
RateProfileID string `gorm:"foreign_key" index:"3" re:".*"`
|
|
Rate utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (RateMdl) TableName() string {
|
|
return utils.TBLRates
|
|
}
|
|
|
|
type RankingProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
RankingProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (RankingProfileMdl) TableName() string {
|
|
return utils.TBLRankingProfiles
|
|
}
|
|
|
|
type RankingJSONMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Ranking utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (RankingJSONMdl) TableName() string {
|
|
return utils.TBLRankings
|
|
}
|
|
|
|
type TrendProfileMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
TrendProfile utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (TrendProfileMdl) TableName() string {
|
|
return utils.TBLTrendProfiles
|
|
}
|
|
|
|
type TrendJSONMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
ID string `index:"1" re:".*"`
|
|
Trend utils.JSONB `gorm:"type:jsonb" index:"2" re:".*"`
|
|
}
|
|
|
|
func (TrendJSONMdl) TableName() string {
|
|
return utils.TBLTrends
|
|
}
|
|
|
|
type LoadInstanceMdl struct {
|
|
Key string `gorm:"primary_key"`
|
|
LoadInstance utils.JSONB `gorm:"type:jsonb" index:"0" re:".*"`
|
|
}
|
|
|
|
func (LoadInstanceMdl) TableName() string {
|
|
return utils.LoadInstKey
|
|
}
|
|
|
|
type LoadIDMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
LoadIDs utils.JSONB `gorm:"type:jsonb" index:"0" re:".*"`
|
|
}
|
|
|
|
func (LoadIDMdl) TableName() string {
|
|
return utils.TBLLoadIDs
|
|
}
|
|
|
|
type IndexMdl struct {
|
|
PK uint `gorm:"primary_key"`
|
|
Tenant string `index:"0" re:".*"`
|
|
Type string `index:"1" re:".*"`
|
|
Key string `index:"2" re:".*"`
|
|
Value utils.JSONB `gorm:"type:jsonb" index:"3" re:".*"`
|
|
}
|
|
|
|
func (IndexMdl) TableName() string {
|
|
return utils.TBLIndexes
|
|
}
|