MCPcopy Create free account
hub / github.com/cloudbase/garm / DeleteFileObject

Method DeleteFileObject

database/sql/file_store.go:231–264  ·  view source on GitHub ↗
(_ context.Context, objID uint)

Source from the content-addressed store, hash-verified

229}
230
231func (s *sqlDatabase) DeleteFileObject(_ context.Context, objID uint) (err error) {
232 var fileObjParam params.FileObject
233 var noop bool
234 defer func() {
235 if err == nil && !noop {
236 s.sendNotify(common.FileObjectEntityType, common.DeleteOperation, fileObjParam)
237 }
238 }()
239
240 var fileObj FileObject
241 err = s.objectsConn.Transaction(func(tx *gorm.DB) error {
242 if err := tx.Where("id = ?", objID).Omit("content").First(&fileObj).Error; err != nil {
243 if errors.Is(err, gorm.ErrRecordNotFound) {
244 return runnerErrors.ErrNotFound
245 }
246 return fmt.Errorf("failed to find file obj: %w", err)
247 }
248 if q := tx.Unscoped().Where("id = ?", objID).Delete(&FileObject{}); q.Error != nil {
249 if errors.Is(q.Error, gorm.ErrRecordNotFound) {
250 return runnerErrors.ErrNotFound
251 }
252 return fmt.Errorf("error deleting file object: %w", q.Error)
253 }
254 return nil
255 })
256 if err != nil {
257 if errors.Is(err, runnerErrors.ErrNotFound) {
258 noop = true
259 return nil
260 }
261 return fmt.Errorf("failed to delete file object: %w", err)
262 }
263 return nil
264}
265
266func (s *sqlDatabase) DeleteFileObjectsByTags(_ context.Context, tags []string) (int64, error) {
267 if len(tags) == 0 {

Callers

nothing calls this directly

Calls 2

sendNotifyMethod · 0.95
DeleteMethod · 0.65

Tested by

no test coverage detected