dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/models/bulkoperation.go (about)

     1  package models
     2  
     3  /*
     4  BulkOperationData
     5  
     6  */
     7  
     8  type BulkOperation struct {
     9  	RequestId      string
    10  	DeviceProfiles []DeviceProfile
    11  	Devices        []Device
    12  	Relations      []Link
    13  	Applications   []Application
    14  }
    15  
    16  /*
    17  BulkOperationEvent is a single event that the bulk process performs
    18  event can be, insert, update or delete
    19  and can be performed on deviceProfiles, devices, relations or applications
    20  */
    21  type BulkOperationEventActionKind string
    22  
    23  const (
    24  	BulkOperationEventActionKind_CREATE    BulkOperationEventActionKind = "CREATE"
    25  	BulkOperationEventActionKind_UPDATE    BulkOperationEventActionKind = "UPDATE"
    26  	BulkOperationEventActionKind_DELETE    BulkOperationEventActionKind = "DELETE"
    27  	BulkOperationEventActionKind_COMPLETED BulkOperationEventActionKind = "COMPLETED"
    28  )
    29  
    30  type BulkOperationEvent struct {
    31  	Action  BulkOperationEventActionKind
    32  	Type    string // deviceProfiles, devices, relations or applications
    33  	Success bool
    34  	Error   string
    35  	Data    any
    36  }
    37  
    38  /*******
    39  ********/
    40  
    41  type BulkOperationStatusKind string
    42  
    43  const (
    44  	BulkOperationStatusKind_IN_PROGRESS BulkOperationStatusKind = "RUNNING"
    45  	BulkOperationStatusKind_COMPLETED   BulkOperationStatusKind = "DONE"
    46  	BulkOperationStatusKind_FAILED      BulkOperationStatusKind = "ERROR"
    47  )
    48  
    49  /*
    50  BulkOperationStatus
    51  */
    52  type BulkOperationStatus struct {
    53  	Status         BulkOperationStatusKind
    54  	Error          string
    55  	RequestId      string
    56  	Devices        []GenericBulkOperationStatusUpdateEvent
    57  	DeviceProfiles []GenericBulkOperationStatusUpdateEvent
    58  	Applications   []GenericBulkOperationStatusUpdateEvent
    59  	Relations      []GenericBulkOperationStatusUpdateEvent
    60  }
    61  
    62  type GenericBulkOperationStatusUpdateEvent struct {
    63  	Name    string
    64  	Success bool
    65  }
    66  
    67  func NewBulkOperationStatusUpdateEvent() BulkOperationStatus {
    68  	return BulkOperationStatus{
    69  		Status:         BulkOperationStatusKind_IN_PROGRESS,
    70  		Devices:        make([]GenericBulkOperationStatusUpdateEvent, 0),
    71  		DeviceProfiles: make([]GenericBulkOperationStatusUpdateEvent, 0),
    72  		Applications:   make([]GenericBulkOperationStatusUpdateEvent, 0),
    73  		Relations:      make([]GenericBulkOperationStatusUpdateEvent, 0),
    74  	}
    75  }