mirror of
				https://gitlab.com/comunic/comunicapiv2
				synced 2025-11-03 19:14:03 +00:00 
			
		
		
		
	Can get conversation messages
This commit is contained in:
		@@ -251,14 +251,21 @@ export class AccountController {
 | 
			
		||||
			// User movies
 | 
			
		||||
			movies: data.movies.map(MoviesController.MovieToAPI),
 | 
			
		||||
 | 
			
		||||
			// Conversations messages
 | 
			
		||||
			all_conversation_messages: data.conversationMessages.map(ConversationsController.ConversationMessageToAPI),
 | 
			
		||||
			// All conversations messages
 | 
			
		||||
			all_conversation_messages: data.allConversationMessages.map(ConversationsController.ConversationMessageToAPI),
 | 
			
		||||
 | 
			
		||||
			// Conversations list
 | 
			
		||||
			conversations_list: data.conversations.map(ConversationsController.ConversationToAPI),
 | 
			
		||||
 | 
			
		||||
			// Conversation messages
 | 
			
		||||
			conversation_messages: {}
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		// Fill conversation messages entry
 | 
			
		||||
		for(const conv of data.conversations) {
 | 
			
		||||
			out.conversation_messages[conv.id] = 
 | 
			
		||||
				data.conversationsMessages[conv.id].map(ConversationsController.ConversationMessageToAPI)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		// TODO : continue (additional user info)
 | 
			
		||||
 
 | 
			
		||||
@@ -21,8 +21,9 @@ export interface AccountExportBuilder {
 | 
			
		||||
	likes: UserLike[];
 | 
			
		||||
	surveyResponses: SurveyResponse[];
 | 
			
		||||
	movies: Movie[];
 | 
			
		||||
	conversationMessages: ConversationMessage[];
 | 
			
		||||
	allConversationMessages: ConversationMessage[];
 | 
			
		||||
	conversations: Conversation[];
 | 
			
		||||
	conversationsMessages: Map<number, ConversationMessage[]>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class AccountExport implements AccountExportBuilder {
 | 
			
		||||
@@ -33,8 +34,9 @@ export class AccountExport implements AccountExportBuilder {
 | 
			
		||||
	likes: UserLike[];
 | 
			
		||||
	surveyResponses: SurveyResponse[];
 | 
			
		||||
	movies: Movie[];
 | 
			
		||||
	conversationMessages: ConversationMessage[];
 | 
			
		||||
	allConversationMessages: ConversationMessage[];
 | 
			
		||||
	conversations: Conversation[];
 | 
			
		||||
	conversationsMessages: Map<number, ConversationMessage[]>;
 | 
			
		||||
 | 
			
		||||
	public constructor(info: AccountExportBuilder) {
 | 
			
		||||
		for (const key in info) {
 | 
			
		||||
 
 | 
			
		||||
@@ -409,12 +409,21 @@ export class AccountHelper {
 | 
			
		||||
			movies: await MoviesHelper.GetListUser(userID),
 | 
			
		||||
 | 
			
		||||
			// Conversation messages
 | 
			
		||||
			conversationMessages: await ConversationsHelper.ExportAllMessages(userID),
 | 
			
		||||
			allConversationMessages: await ConversationsHelper.ExportAllMessages(userID),
 | 
			
		||||
 | 
			
		||||
			// Conversations list
 | 
			
		||||
			conversations: await ConversationsHelper.GetListUser(userID),
 | 
			
		||||
 | 
			
		||||
			// Conversations messages (completed after)
 | 
			
		||||
			conversationsMessages: new Map()
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
		// Process conversation messages
 | 
			
		||||
		for(const conv of data.conversations) {
 | 
			
		||||
			data.conversationsMessages[conv.id]
 | 
			
		||||
				= await ConversationsHelper.GetAllMessages(conv.id);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		// TODO : continue
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -352,6 +352,20 @@ export class ConversationsHelper {
 | 
			
		||||
		.map(m => this.DBToConversationMessage(convID, m)).reverse();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Get (export) all the messages of a given conversation
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param convID Target conversation ID
 | 
			
		||||
	 */
 | 
			
		||||
	public static async GetAllMessages(convID: number) : Promise<ConversationMessage[]> {
 | 
			
		||||
		return (await DatabaseHelper.Query({
 | 
			
		||||
			table: MESSAGES_TABLE,
 | 
			
		||||
			where: {
 | 
			
		||||
				conv_id: convID
 | 
			
		||||
			},
 | 
			
		||||
		})).map(m => this.DBToConversationMessage(convID, m));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Export all the conversation messages of a given user
 | 
			
		||||
	 * 
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user