func (mediaBox MediaBox) Crop(res *admin.Resource, db *gorm.DB, mediaOption MediaOption) (err error) { for _, file := range mediaBox.Files { context := &qor.Context{ResourceID: string(file.ID), DB: db} record := res.NewStruct() if err = res.CallFindOne(record, nil, context); err == nil { if mediaLibrary, ok := record.(MediaLibraryInterface); ok { mediaOption.Crop = true if err = mediaLibrary.ScanMediaOptions(mediaOption); err == nil { err = res.CallSave(record, context) } } else { err = errors.New("invalid media library resource") } } if err != nil { return } } return }