models

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Contract

type Contract struct {
	ID                string            `json:"id" bigquery:"id"`
	ContractThreshold float64           `json:"contract_threshold" bigquery:"contract_threshold"`
	StartDate         bigquery.NullDate `json:"start_date" bigquery:"start_date"` // 2006-01-02T15:04:05Z RFC-3339 format
	EndDate           bigquery.NullDate `json:"end_date" bigquery:"end_date"`
	Status            ContractStatus    `json:"status" bigquery:"status"`
	ProjectID         string            `json:"project_id" bigquery:"project_id"`
}

type ContractStatus

type ContractStatus string
const (
	Active   ContractStatus = "active"
	Inactive ContractStatus = "inactive"
	Pending  ContractStatus = "pending"
)

func (ContractStatus) IsValid

func (s ContractStatus) IsValid() bool

type DERData

type DERData struct {
	ID                    string    `json:"id"`
	DERID                 string    `json:"der_id"`
	Timestamp             time.Time `json:"timestamp"`
	CurrentOutput         float64   `json:"current_output"`
	Units                 string    `json:"units"`
	ProjectID             string    `json:"project_id"`
	Baseline              string    `json:"baseline"`
	IsOnline              bool      `json:"is_online"`
	IsStandalone          bool      `json:"is_standalone"`
	ConnectionStartAt     string    `json:"connection_start_at"`
	CurrentSOC            float64   `json:"current_soc"`
	PowerMeterMeasurement float64   `json:"power_meter_measurement"`
	ContractThreshold     float64   `json:"contract_threshold"`
}

type DERMetadata

type DERMetadata struct {
	ID                string  `json:"id" bigquery:"id"`
	ProjectID         string  `json:"project_id" bigquery:"project_id"`
	Type              DERType `json:"type" bigquery:"type"`
	NameplateCapacity float64 `json:"nameplate_capacity" bigquery:"nameplate_capacity"`
	PowerCapacity     float64 `json:"power_capacity" bigquery:"power_capacity"`
}

type DERType

type DERType string
const (
	Solar   DERType = "solar"
	Battery DERType = "battery"
	EV      DERType = "ev"
)

func (DERType) IsValid

func (t DERType) IsValid() bool

type DREvents

type DREvents struct {
	ID          string    `json:"id" bigquery:"id"`
	UtilityID   string    `json:"utility_id" bigquery:"utility_id"`
	StartTime   time.Time `json:"start_time" bigquery:"start_time"`
	EndTime     time.Time `json:"end_time" bigquery:"end_time"`
	UtilityName string    `json:"utility_name" bigquery:"utility_name"`
}

type FaultNotification

type FaultNotification struct {
	ProjectID string    `firestore:"project_id" json:"project_id"`
	Message   string    `firestore:"message" json:"message"`
	StartTime time.Time `firestore:"start_time" json:"start_time"`
	EndTime   time.Time `firestore:"end_time" json:"end_time"`
	Average   float64   `firestore:"average" json:"average"`
	Read      bool      `firestore:"read" json:"read"`
}

fault notif struct to represent what we get from validator and what we will input into firestore notifications doc

type Project

type Project struct {
	ID        string `json:"id" bigquery:"id"`                 // Unique identifier for the project
	UtilityID string `json:"utility_id" bigquery:"utility_id"` // Unique identifier for the utility
	UserID    string `json:"user_id" bigquery:"user_id"`
	Location  string `json:"location" bigquery:"location"`
}

Represents an offloading instance from a DER(s)

type ProjectAverage

type ProjectAverage struct {
	ProjectID         string    `json:"project_id" bigquery:"project_id"`
	StartTime         time.Time `json:"start_time" bigquery:"start_time"`
	EndTime           time.Time `json:"end_time" bigquery:"end_time"`
	Baseline          float64   `json:"baseline" bigquery:"baseline"`
	ContractThreshold float64   `json:"contract_threshold" bigquery:"contract_threshold"`
	AverageOutput     float64   `json:"average_output" bigquery:"average_output"`
}

ProjectAverage represents a project's average output data

type ProjectSummary

type ProjectSummary struct {
	TotalActive      int       `json:"total_active" bigquery:"total_active"`
	TotalPending     int       `json:"total_pending" bigquery:"total_pending"`
	TotalThreshold   float64   `json:"total_threshold" bigquery:"total_threshold"`
	NextEventID      string    `json:"next_event_id" bigquery:"next_event_id"`
	NextEventStart   time.Time `json:"next_event_start" bigquery:"next_event_start"`
	NextEventEnd     time.Time `json:"next_event_end" bigquery:"next_event_end"`
	RecentEventID    string    `json:"recent_event_id" bigquery:"recent_event_id"`
	RecentEventStart time.Time `json:"recent_event_start" bigquery:"recent_event_start"`
	RecentEventEnd   time.Time `json:"recent_event_end" bigquery:"recent_event_end"`
}

type Utility

type Utility struct {
	ID          string `json:"id" bigquery:"id"`
	DisplayName string `json:"display_name" bigquery:"display_name"`
}

Jump to

Keyboard shortcuts

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