refactor(server/utils): move listQuerier to separate database helper folder
				
					
				
			This commit is contained in:
		
							parent
							
								
									09187fa5ac
								
							
						
					
					
						commit
						c9574dfc29
					
				
							
								
								
									
										30
									
								
								lib/server/dbHelpers/listQuerier.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								lib/server/dbHelpers/listQuerier.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| import { Band } from "~/models/band"; | ||||
| import { Challenge } from "~/models/challenges/gen"; | ||||
| import { Story } from "~/models/stories"; | ||||
| 
 | ||||
| export default async function (query, context, limit?: number, sort?) { | ||||
| 	query["chapters.hidden"] = false; | ||||
| 	if (context.currentUser) { | ||||
| 		if (!query.author) query.author = {}; | ||||
| 		if (!query["chapters.bands"]) query["chapters.bands"] = {}; | ||||
| 		query["chapters.bands"]["$nin"] = context.currentUser.hidden_bands; | ||||
| 		query["author"]["$nin"] = context.currentUser.hidden_authors; | ||||
| 	} | ||||
| 	query["ficmas"] = { | ||||
| 		$nin: context.ficmasarray_raw.map((a) => a._id), | ||||
| 	}; | ||||
| 	console.log(query); | ||||
| 	let stories = await Story.find(query, null) | ||||
| 		.collation({ locale: "en" }) | ||||
| 		.sort(sort ? sort : { "chapters.posted": -1 }) | ||||
| 		.populate({ | ||||
| 			path: "ficmas", | ||||
| 			populate: { path: "wisher", model: "User", select: "username _id" }, | ||||
| 		}) | ||||
| 		.populate("chapters.bands") | ||||
| 		.populate({ path: "challenge", model: Challenge }) | ||||
| 		.populate("author", "username _id") | ||||
| 		.limit(limit || Infinity) | ||||
| 		.exec(); | ||||
| 	return stories.filter((a) => a.author != null); | ||||
| } | ||||
| @ -1,23 +0,0 @@ | ||||
| import { Band } from "~/models/band" | ||||
| import { Challenge } from "~/models/challenges/gen" | ||||
| import { Story } from "~/models/stories" | ||||
| 
 | ||||
| export default async function(query, context, limit?: number, sort?) { | ||||
| 	query["chapters.hidden"] = false | ||||
| 		if(context.currentUser) { | ||||
| 			if(!query.author) query.author = {} | ||||
| 			if(!query["chapters.bands"]) query["chapters.bands"] = {} | ||||
| 			query["chapters.bands"]["$nin"] = context.currentUser.hidden_bands | ||||
| 			query["author"]["$nin"] = context.currentUser.hidden_authors | ||||
| 		} | ||||
| 		query["ficmas"] = { | ||||
| 			"$nin": context.ficmasarray_raw.map(a => a._id) | ||||
| 		}; | ||||
| 		console.log(query) | ||||
| 		let stories = await Story.find(query, null).collation({locale: "en"}).sort(sort ? sort : {"chapters.posted": -1}) | ||||
| 			.populate({path: 'ficmas', populate: {path: 'wisher', model: 'User', select: 'username _id'}}).populate("chapters.bands") | ||||
| 			.populate({path: "challenge", model: Challenge}).populate('author', 'username _id') | ||||
| 			.limit(limit || Infinity) | ||||
| 			.exec(); | ||||
| 		return stories.filter(a => a.author != null) | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user