mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	We send add events on upload, update events when sending a message referencing it, and delete updates on removal. This should make it possible to do real-time sync for the attachments UI. Based in part on work by Aastha Gupta.
		
			
				
	
	
		
			21 lines
		
	
	
		
			871 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			871 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from django.http import HttpRequest, HttpResponse
 | 
						|
 | 
						|
from zerver.models import UserProfile
 | 
						|
from zerver.lib.actions import notify_attachment_update
 | 
						|
from zerver.lib.validator import check_int
 | 
						|
from zerver.lib.response import json_success
 | 
						|
from zerver.lib.attachments import user_attachments, remove_attachment, \
 | 
						|
    access_attachment_by_id
 | 
						|
 | 
						|
 | 
						|
def list_by_user(request: HttpRequest, user_profile: UserProfile) -> HttpResponse:
 | 
						|
    return json_success({"attachments": user_attachments(user_profile)})
 | 
						|
 | 
						|
 | 
						|
def remove(request: HttpRequest, user_profile: UserProfile, attachment_id: int) -> HttpResponse:
 | 
						|
    attachment = access_attachment_by_id(user_profile, attachment_id,
 | 
						|
                                         needs_owner=True)
 | 
						|
    notify_attachment_update(user_profile, "remove", {"id": attachment.id})
 | 
						|
    remove_attachment(user_profile, attachment)
 | 
						|
    return json_success()
 |