refactor(models/attachement): use getAttachmentsByUUIDs (#9317)
This commit is contained in:
		
							parent
							
								
									50da9f7dae
								
							
						
					
					
						commit
						c3d31e5534
					
				
					 4 changed files with 23 additions and 20 deletions
				
			
		|  | @ -133,6 +133,11 @@ func getAttachmentByUUID(e Engine, uuid string) (*Attachment, error) { | |||
| 	return attach, nil | ||||
| } | ||||
| 
 | ||||
| // GetAttachmentsByUUIDs returns attachment by given UUID list.
 | ||||
| func GetAttachmentsByUUIDs(uuids []string) ([]*Attachment, error) { | ||||
| 	return getAttachmentsByUUIDs(x, uuids) | ||||
| } | ||||
| 
 | ||||
| func getAttachmentsByUUIDs(e Engine, uuids []string) ([]*Attachment, error) { | ||||
| 	if len(uuids) == 0 { | ||||
| 		return []*Attachment{}, nil | ||||
|  |  | |||
|  | @ -116,3 +116,15 @@ func TestUpdateAttachment(t *testing.T) { | |||
| 
 | ||||
| 	AssertExistsAndLoadBean(t, &Attachment{Name: "new_name"}) | ||||
| } | ||||
| 
 | ||||
| func TestGetAttachmentsByUUIDs(t *testing.T) { | ||||
| 	assert.NoError(t, PrepareTestDatabase()) | ||||
| 
 | ||||
| 	attachList, err := GetAttachmentsByUUIDs([]string{"a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a17", "not-existing-uuid"}) | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.Equal(t, 2, len(attachList)) | ||||
| 	assert.Equal(t, "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", attachList[0].UUID) | ||||
| 	assert.Equal(t, "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a17", attachList[1].UUID) | ||||
| 	assert.Equal(t, int64(1), attachList[0].IssueID) | ||||
| 	assert.Equal(t, int64(5), attachList[1].IssueID) | ||||
| } | ||||
|  |  | |||
|  | @ -567,16 +567,9 @@ func updateCommentInfos(e *xorm.Session, opts *CreateCommentOptions, comment *Co | |||
| 		} | ||||
| 
 | ||||
| 		// Check attachments
 | ||||
| 		attachments := make([]*Attachment, 0, len(opts.Attachments)) | ||||
| 		for _, uuid := range opts.Attachments { | ||||
| 			attach, err := getAttachmentByUUID(e, uuid) | ||||
| 			if err != nil { | ||||
| 				if IsErrAttachmentNotExist(err) { | ||||
| 					continue | ||||
| 				} | ||||
| 				return fmt.Errorf("getAttachmentByUUID [%s]: %v", uuid, err) | ||||
| 			} | ||||
| 			attachments = append(attachments, attach) | ||||
| 		attachments, err := getAttachmentsByUUIDs(e, opts.Attachments) | ||||
| 		if err != nil { | ||||
| 			return fmt.Errorf("getAttachmentsByUUIDs [uuids: %v]: %v", opts.Attachments, err) | ||||
| 		} | ||||
| 
 | ||||
| 		for i := range attachments { | ||||
|  |  | |||
|  | @ -129,16 +129,9 @@ func UpdateRelease(rel *Release) error { | |||
| // AddReleaseAttachments adds a release attachments
 | ||||
| func AddReleaseAttachments(releaseID int64, attachmentUUIDs []string) (err error) { | ||||
| 	// Check attachments
 | ||||
| 	var attachments = make([]*Attachment, 0) | ||||
| 	for _, uuid := range attachmentUUIDs { | ||||
| 		attach, err := getAttachmentByUUID(x, uuid) | ||||
| 		if err != nil { | ||||
| 			if IsErrAttachmentNotExist(err) { | ||||
| 				continue | ||||
| 			} | ||||
| 			return fmt.Errorf("getAttachmentByUUID [%s]: %v", uuid, err) | ||||
| 		} | ||||
| 		attachments = append(attachments, attach) | ||||
| 	attachments, err := GetAttachmentsByUUIDs(attachmentUUIDs) | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("GetAttachmentsByUUIDs [uuids: %v]: %v", attachmentUUIDs, err) | ||||
| 	} | ||||
| 
 | ||||
| 	for i := range attachments { | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue