mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	refactor(models/attachement): use getAttachmentsByUUIDs (#9317)
This commit is contained in:
		@@ -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)
 | 
			
		||||
		attachments, err := getAttachmentsByUUIDs(e, opts.Attachments)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
				if IsErrAttachmentNotExist(err) {
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
				return fmt.Errorf("getAttachmentByUUID [%s]: %v", uuid, err)
 | 
			
		||||
			}
 | 
			
		||||
			attachments = append(attachments, attach)
 | 
			
		||||
			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)
 | 
			
		||||
	attachments, err := GetAttachmentsByUUIDs(attachmentUUIDs)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
			if IsErrAttachmentNotExist(err) {
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
			return fmt.Errorf("getAttachmentByUUID [%s]: %v", uuid, err)
 | 
			
		||||
		}
 | 
			
		||||
		attachments = append(attachments, attach)
 | 
			
		||||
		return fmt.Errorf("GetAttachmentsByUUIDs [uuids: %v]: %v", attachmentUUIDs, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for i := range attachments {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user