mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 02:57:57 +00:00 
			
		
		
		
	 cd06b2b337
			
		
	
	cd06b2b337
	
	
	
		
			
			* fix: Notification filters * Update notification_finder.rb * Update notification_finder.rb * Update notification_finder.rb * fix: spec * fix: specs * Update notification_finder.rb * fix: add more fixes * Update notification_finder.rb * fix: specs * chore: better comments * chore: removed filtering * chore: refactoring * fix: review fixes * fix: API call * chore: Minor fix * Rename spec * Fix params getting undefined * Fix finder --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: iamsivin <iamsivin@gmail.com> Co-authored-by: Pranav <pranav@chatwoot.com>
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* global axios */
 | |
| import ApiClient from './ApiClient';
 | |
| 
 | |
| class NotificationsAPI extends ApiClient {
 | |
|   constructor() {
 | |
|     super('notifications', { accountScoped: true });
 | |
|   }
 | |
| 
 | |
|   get({ page, status, type, sortOrder }) {
 | |
|     const includesFilter = [status, type].filter(value => !!value);
 | |
| 
 | |
|     return axios.get(this.url, {
 | |
|       params: {
 | |
|         page,
 | |
|         sort_order: sortOrder,
 | |
|         includes: includesFilter,
 | |
|       },
 | |
|     });
 | |
|   }
 | |
| 
 | |
|   getNotifications(contactId) {
 | |
|     return axios.get(`${this.url}/${contactId}/notifications`);
 | |
|   }
 | |
| 
 | |
|   getUnreadCount() {
 | |
|     return axios.get(`${this.url}/unread_count`);
 | |
|   }
 | |
| 
 | |
|   read(primaryActorType, primaryActorId) {
 | |
|     return axios.post(`${this.url}/read_all`, {
 | |
|       primary_actor_type: primaryActorType,
 | |
|       primary_actor_id: primaryActorId,
 | |
|     });
 | |
|   }
 | |
| 
 | |
|   unRead(id) {
 | |
|     return axios.post(`${this.url}/${id}/unread`);
 | |
|   }
 | |
| 
 | |
|   readAll() {
 | |
|     return axios.post(`${this.url}/read_all`);
 | |
|   }
 | |
| 
 | |
|   delete(id) {
 | |
|     return axios.delete(`${this.url}/${id}`);
 | |
|   }
 | |
| 
 | |
|   deleteAll({ type = 'all' }) {
 | |
|     return axios.post(`${this.url}/destroy_all`, {
 | |
|       type,
 | |
|     });
 | |
|   }
 | |
| 
 | |
|   snooze({ id, snoozedUntil = null }) {
 | |
|     return axios.post(`${this.url}/${id}/snooze`, {
 | |
|       snoozed_until: snoozedUntil,
 | |
|     });
 | |
|   }
 | |
| }
 | |
| 
 | |
| export default new NotificationsAPI();
 |