You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			34 lines
		
	
	
		
			996 B
		
	
	
	
		
			TypeScript
		
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			996 B
		
	
	
	
		
			TypeScript
		
	
| 
											5 years ago
										 | import { SyncMessage } from './SyncMessage'; | ||
|  | import { SignalService } from '../../../../../protobuf'; | ||
|  | import { MessageParams } from '../../Message'; | ||
|  | 
 | ||
|  | interface OpenGroupDetails { | ||
|  |   url: string; | ||
|  |   channelId: number; | ||
|  | } | ||
|  | 
 | ||
|  | interface OpenGroupSyncMessageParams extends MessageParams { | ||
|  |   openGroupsDetails: [OpenGroupDetails]; | ||
|  | } | ||
|  | 
 | ||
|  | export abstract class OpenGroupSyncMessage extends SyncMessage { | ||
|  |   public readonly openGroupsDetails: [OpenGroupDetails]; | ||
|  | 
 | ||
|  |   constructor(params: OpenGroupSyncMessageParams) { | ||
|  |     super({ timestamp: params.timestamp, identifier: params.identifier }); | ||
|  |     this.openGroupsDetails = params.openGroupsDetails; | ||
|  |   } | ||
|  | 
 | ||
|  |   protected syncProto(): SignalService.SyncMessage { | ||
|  |     const syncMessage = super.syncProto(); | ||
|  |     syncMessage.openGroups = this.openGroupsDetails.map(openGroup => { | ||
|  |       return new SignalService.SyncMessage.OpenGroupDetails({ | ||
|  |         url: openGroup.url.split('@').pop(), | ||
|  |         channelId: openGroup.channelId, | ||
|  |       }); | ||
|  |     }); | ||
|  | 
 | ||
|  |     return syncMessage; | ||
|  |   } | ||
|  | } |