import { Observable } from 'rxjs';

export function SERVER_PUBLICATIONS(resolveioServer) {
	return {
		aiTerminalConversations: (id_client?: string, id_app?: string, status?: string) => {
			return <Observable<any>> resolveioServer.subscribe('aiTerminalConversations', id_client, id_app, status);
		},
		aiTerminalMessages: (id_conversation: string, limit?: number) => {
			return <Observable<any>> resolveioServer.subscribe('aiTerminalMessages', id_conversation, limit);
		},
		appSettingById: (id_app_setting: string) => {
			return <Observable<any>> resolveioServer.subscribe('appSettingById', id_app_setting);
		},
		appSettings: () => {
			return <Observable<any>> resolveioServer.subscribe('appSettings');
		},
		appstatus: () => {
			return <Observable<any>> resolveioServer.subscribe('appstatus');
		},
		cronjobs: () => {
			return <Observable<any>> resolveioServer.subscribe('cronjobs');
		},
		cronjobsReportBuilderWithIdUser: () => {
			return <Observable<any>> resolveioServer.subscribe('cronjobsReportBuilderWithIdUser');
		},
		customerNotificationsAdmin: (limit?: number) => {
			return <Observable<any>> resolveioServer.subscribe('customerNotificationsAdmin', limit);
		},
		fileWithId: (id_file: string) => {
			return <Observable<any>> resolveioServer.subscribe('fileWithId', id_file);
		},
		filesIn: (id_files: string[]) => {
			return <Observable<any>> resolveioServer.subscribe('filesIn', id_files);
		},
		flagUpdateWithType: (flagType: string) => {
			return <Observable<any>> resolveioServer.subscribe('flagUpdateWithType', flagType);
		},
		flagWithType: (flagType: string) => {
			return <Observable<any>> resolveioServer.subscribe('flagWithType', flagType);
		},
		loggedInUsers: () => {
			return <Observable<any>> resolveioServer.subscribe('loggedInUsers');
		},
		logsWithCollection: (collection: string) => {
			return <Observable<any>> resolveioServer.subscribe('logsWithCollection', collection);
		},
		logsWithIdDocument: (id_document: string) => {
			return <Observable<any>> resolveioServer.subscribe('logsWithIdDocument', id_document);
		},
		logsWithMethod: (method: string) => {
			return <Observable<any>> resolveioServer.subscribe('logsWithMethod', method);
		},
		logsWithRoute: (route: string) => {
			return <Observable<any>> resolveioServer.subscribe('logsWithRoute', route);
		},
		logsWithType: (type: string) => {
			return <Observable<any>> resolveioServer.subscribe('logsWithType', type);
		},
		logsWithTypes: (types: string[]) => {
			return <Observable<any>> resolveioServer.subscribe('logsWithTypes', types);
		},
		methodlatencies: () => {
			return <Observable<any>> resolveioServer.subscribe('methodlatencies');
		},
		notifications: () => {
			return <Observable<any>> resolveioServer.subscribe('notifications');
		},
		reportbuilderdashboardWithId: (id_dashboard: string) => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderdashboardWithId', id_dashboard);
		},
		reportbuilderdashboards: () => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderdashboards');
		},
		reportbuilderlibraries: () => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderlibraries');
		},
		reportbuilderlibrariesForUser: (id_user: string) => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderlibrariesForUser', id_user);
		},
		reportbuilderlibrariesWithIdUser: (id_user: string) => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderlibrariesWithIdUser', id_user);
		},
		reportbuilderreportWithId: (id: string) => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderreportWithId', id);
		},
		reportbuilderreports: () => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderreports');
		},
		reportbuilderreportsWithCustomerId: (id: string) => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderreportsWithCustomerId', id);
		},
		reportbuilderreportsWithIdUser: (id_user: string) => {
			return <Observable<any>> resolveioServer.subscribe('reportbuilderreportsWithIdUser', id_user);
		},
		userGuides: () => {
			return <Observable<any>> resolveioServer.subscribe('userGuides');
		},
		userNotificationCenter: (limit?: number) => {
			return <Observable<any>> resolveioServer.subscribe('userNotificationCenter', limit);
		},
		usergroups: () => {
			return <Observable<any>> resolveioServer.subscribe('usergroups');
		},
	};
}
