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 }