| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- package domain
- import (
- "time"
- "go.mongodb.org/mongo-driver/bson/primitive"
- )
- type DataDownloadKind string
- const (
- DataDownloadPowerFlow DataDownloadKind = "power_flow"
- DataDownloadMqttLog DataDownloadKind = "mqtt_log"
- DataDownloadEventAlarm DataDownloadKind = "event_alarm"
- DataDownloadAlarmSnapshot DataDownloadKind = "alarm_snapshot"
- DataDownloadEmsLog DataDownloadKind = "ems_log"
- DataDownloadFaultRecord DataDownloadKind = "fault_record"
- DataDownloadUpdateLog DataDownloadKind = "update_log"
- )
- type DataDownloadState string
- const (
- DataDownloadMutable DataDownloadState = "mutable"
- DataDownloadFrozen DataDownloadState = "frozen"
- DataDownloadDynamic DataDownloadState = "dynamic"
- )
- type DataDownloadStatus string
- const (
- DataDownloadPending DataDownloadStatus = "pending"
- DataDownloadRunning DataDownloadStatus = "running"
- DataDownloadCancelling DataDownloadStatus = "cancelling"
- DataDownloadSucceeded DataDownloadStatus = "complete"
- DataDownloadItemSucceeded DataDownloadStatus = "success"
- DataDownloadSkipped DataDownloadStatus = "skipped"
- DataDownloadPartial DataDownloadStatus = "partial_success"
- DataDownloadFailed DataDownloadStatus = "failed"
- DataDownloadError DataDownloadStatus = "error"
- DataDownloadCancelled DataDownloadStatus = "cancelled"
- DataDownloadExpired DataDownloadStatus = "expired"
- )
- type DataDownloadCompleteness string
- const (
- DataDownloadCompletenessComplete DataDownloadCompleteness = "complete"
- DataDownloadCompletenessPartial DataDownloadCompleteness = "partial"
- )
- type DataDownloadOptions struct {
- PowerFlow bool `bson:"powerFlow" json:"powerFlow"`
- MqttLogs []string `bson:"mqttLogs,omitempty" json:"mqttLogs,omitempty"`
- EventAlarm bool `bson:"eventAlarm" json:"eventAlarm"`
- AlarmSnapshot bool `bson:"alarmSnapshot" json:"alarmSnapshot"`
- EmsLogs []string `bson:"emsLogs,omitempty" json:"emsLogs,omitempty"`
- FaultRecord bool `bson:"faultRecord" json:"faultRecord"`
- UpdateLog bool `bson:"updateLog" json:"updateLog"`
- }
- func (o DataDownloadOptions) Empty() bool {
- return !o.PowerFlow && len(o.MqttLogs) == 0 && !o.EventAlarm && !o.AlarmSnapshot && len(o.EmsLogs) == 0 && !o.FaultRecord && !o.UpdateLog
- }
- type DataDownloadTask struct {
- ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
- OwnerID string `bson:"ownerId" json:"ownerId"`
- OwnerName string `bson:"ownerName" json:"ownerName"`
- SNs []string `bson:"sns" json:"sns"`
- Description string `bson:"description" json:"description"`
- StartDate string `bson:"startDate,omitempty" json:"startDate,omitempty"`
- EndDate string `bson:"endDate,omitempty" json:"endDate,omitempty"`
- Options DataDownloadOptions `bson:"options" json:"options"`
- Status DataDownloadStatus `bson:"status" json:"status"`
- Total int64 `bson:"total" json:"total"`
- Succeeded int64 `bson:"succeeded" json:"succeeded"`
- Failed int64 `bson:"failed" json:"failed"`
- Empty int64 `bson:"empty" json:"empty"`
- CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
- UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
- FinishedAt *time.Time `bson:"finishedAt,omitempty" json:"finishedAt,omitempty"`
- }
- type DataDownloadItem struct {
- ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
- TaskID primitive.ObjectID `bson:"taskId" json:"taskId"`
- ItemKey string `bson:"itemKey" json:"itemKey"`
- Kind DataDownloadKind `bson:"kind" json:"kind"`
- SiteSN string `bson:"siteSn" json:"siteSn"`
- DeviceSN string `bson:"deviceSn,omitempty" json:"deviceSn,omitempty"`
- Date string `bson:"date,omitempty" json:"date,omitempty"`
- Subtype string `bson:"subtype,omitempty" json:"subtype,omitempty"`
- DeviceType string `bson:"deviceType,omitempty" json:"deviceType,omitempty"`
- Timezone string `bson:"timezone" json:"timezone"`
- Status DataDownloadStatus `bson:"status" json:"status"`
- Stage string `bson:"stage,omitempty" json:"stage,omitempty"`
- FailureReason string `bson:"failureReason,omitempty" json:"failureReason,omitempty"`
- Attempt int `bson:"attempt" json:"attempt"`
- CallRequestedAt *time.Time `bson:"callRequestedAt,omitempty" json:"callRequestedAt,omitempty"`
- CallRecordID int64 `bson:"callRecordId,omitempty" json:"callRecordId,omitempty"`
- CallRequestedCount int `bson:"callRequestedCount,omitempty" json:"callRequestedCount,omitempty"`
- CallRecordStatus *int `bson:"callRecordStatus,omitempty" json:"callRecordStatus,omitempty"`
- CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
- UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
- }
- type DataDownloadDocument struct {
- ID string `bson:"_id" json:"id"`
- RequestKey string `bson:"requestKey" json:"requestKey"`
- Kind DataDownloadKind `bson:"kind" json:"kind"`
- SiteSN string `bson:"siteSn" json:"siteSn"`
- DeviceSN string `bson:"deviceSn,omitempty" json:"deviceSn,omitempty"`
- Date string `bson:"date,omitempty" json:"date,omitempty"`
- Subtype string `bson:"subtype,omitempty" json:"subtype,omitempty"`
- DeviceType string `bson:"deviceType,omitempty" json:"deviceType,omitempty"`
- Timezone string `bson:"timezone" json:"timezone"`
- State DataDownloadState `bson:"state" json:"state"`
- Completeness DataDownloadCompleteness `bson:"completeness,omitempty" json:"completeness,omitempty"`
- Empty bool `bson:"empty" json:"empty"`
- FileCount int64 `bson:"fileCount,omitempty" json:"fileCount"`
- FailedFileCount int64 `bson:"failedFileCount,omitempty" json:"failedFileCount"`
- ContentGeneration int64 `bson:"contentGeneration" json:"contentGeneration"`
- BinaryObjectKey string `bson:"binaryObjectKey,omitempty" json:"-"`
- HasBinary bool `bson:"-" json:"hasBinary"`
- Checksum string `bson:"checksum,omitempty" json:"checksum,omitempty"`
- SourceFetchedAt time.Time `bson:"sourceFetchedAt" json:"sourceFetchedAt"`
- FrozenAt *time.Time `bson:"frozenAt,omitempty" json:"frozenAt,omitempty"`
- CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
- UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
- }
- type DataDownloadFaultRecordEntry struct {
- ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
- DocumentID string `bson:"documentId" json:"documentId"`
- SourceFileID string `bson:"sourceFileId" json:"sourceFileId"`
- FaultID int64 `bson:"faultId" json:"faultId"`
- SubRecordID int64 `bson:"subRecordId" json:"subRecordId"`
- FileName string `bson:"fileName" json:"fileName"`
- ContentType string `bson:"contentType" json:"contentType"`
- Size int64 `bson:"size" json:"size"`
- Checksum string `bson:"checksum" json:"checksum"`
- ObjectKey string `bson:"objectKey" json:"-"`
- LastSuccessfulAt time.Time `bson:"lastSuccessfulAt" json:"lastSuccessfulAt"`
- CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
- UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
- }
- type DataDownloadFileAttempt struct {
- ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
- TaskID primitive.ObjectID `bson:"taskId" json:"taskId"`
- ItemID primitive.ObjectID `bson:"itemId" json:"itemId"`
- DocumentID string `bson:"documentId" json:"documentId"`
- SourceFileID string `bson:"sourceFileId" json:"sourceFileId"`
- FileName string `bson:"fileName,omitempty" json:"fileName,omitempty"`
- Status DataDownloadStatus `bson:"status" json:"status"`
- EntryID *primitive.ObjectID `bson:"entryId,omitempty" json:"entryId,omitempty"`
- AttemptCount int `bson:"attemptCount" json:"attemptCount"`
- FailureStage string `bson:"failureStage,omitempty" json:"failureStage,omitempty"`
- FailureReason string `bson:"failureReason,omitempty" json:"failureReason,omitempty"`
- CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
- UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
- }
- type DataDownloadTaskDocument struct {
- ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
- TaskID primitive.ObjectID `bson:"taskId" json:"taskId"`
- ItemKey string `bson:"itemKey" json:"itemKey"`
- DocumentID string `bson:"documentId" json:"documentId"`
- LogicalPath string `bson:"logicalPath" json:"logicalPath"`
- Empty bool `bson:"empty" json:"empty"`
- CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
- }
- type DataDownloadRenderSlot struct {
- ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
- DocumentID string `bson:"documentId" json:"documentId"`
- Format string `bson:"format" json:"format"`
- ContentGeneration int64 `bson:"contentGeneration" json:"contentGeneration"`
- ArtifactID *primitive.ObjectID `bson:"artifactId,omitempty" json:"artifactId,omitempty"`
- UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
- }
- type DataDownloadArtifact struct {
- ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
- DocumentID string `bson:"documentId" json:"documentId"`
- Format string `bson:"format" json:"format"`
- ContentGeneration int64 `bson:"contentGeneration" json:"contentGeneration"`
- ObjectKey string `bson:"objectKey" json:"-"`
- Filename string `bson:"filename" json:"filename"`
- Size int64 `bson:"size" json:"size"`
- Checksum string `bson:"checksum" json:"checksum"`
- ExpiresAt time.Time `bson:"expiresAt" json:"expiresAt"`
- CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
- }
- type DataDownloadPackageJob struct {
- ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
- TaskIDs []primitive.ObjectID `bson:"taskIds" json:"taskIds"`
- OwnerID string `bson:"ownerId" json:"ownerId"`
- Status DataDownloadStatus `bson:"status" json:"status"`
- ObjectKey string `bson:"objectKey,omitempty" json:"-"`
- Filename string `bson:"filename,omitempty" json:"filename,omitempty"`
- Size int64 `bson:"size,omitempty" json:"size,omitempty"`
- TotalCount int64 `bson:"totalCount" json:"totalCount"`
- DoneCount int64 `bson:"doneCount" json:"doneCount"`
- FailureReason string `bson:"failureReason,omitempty" json:"failureReason,omitempty"`
- StartedAt *time.Time `bson:"startedAt,omitempty" json:"startedAt,omitempty"`
- CompletedAt *time.Time `bson:"completedAt,omitempty" json:"completedAt,omitempty"`
- ExpiresAt *time.Time `bson:"expiresAt,omitempty" json:"expiresAt,omitempty"`
- PurgeAt *time.Time `bson:"purgeAt,omitempty" json:"purgeAt,omitempty"`
- CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
- UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
- }
|