thread list order
							parent
							
								
									4ccaffcf1e
								
							
						
					
					
						commit
						09246c786d
					
				|  | @ -16,7 +16,7 @@ for (let file of fs.readdirSync('./src/events')) { | |||
| function rand32() { | ||||
| 	let str = ''; | ||||
| 	const lookups = 'bcdefghjklmnpqrstvwxyz0123456789'.split(''); | ||||
| 	while (str.length < 16) { | ||||
| 	while (str.length < 10) { | ||||
| 		const n = Math.random() * lookups.length; | ||||
| 		str += lookups[Math.floor(n)]; | ||||
| 	} | ||||
|  | @ -90,6 +90,7 @@ const io = new Server(server, { | |||
| 
 | ||||
| app.use(express.static('client')); | ||||
| 
 | ||||
| // todo: secure this
 | ||||
| app.get('/stream/:id', (req, res) => { | ||||
| 	let stream = vybe.streams[req.params.id]; | ||||
| 	if (!stream) { | ||||
|  |  | |||
|  | @ -163,16 +163,17 @@ async function create_thread(msg, respond) { | |||
| async function list_threads(msg, respond) { | ||||
| 	// this can be optimized by merging the permission check into here
 | ||||
| 	let threads = await db.query( | ||||
| 		`select name, id, eperm.value from thread
 | ||||
| 		`select name, thread.id, eperm.value from thread
 | ||||
| 		left join permission as eperm on thread.id = eperm.thread | ||||
| 			and eperm.type = 'everyone' and eperm.permission = 'view' | ||||
| 		join permission on thread.id = permission.thread | ||||
| 		left join member on thread.id = member.thread | ||||
| 		left join post on post.thread = thread.id | ||||
| 		where permission.permission = 'view' and permission.value = 'true' | ||||
| 		and (permission.type = 'everyone' or | ||||
| 			permission.type = 'members' and member.user = ?) | ||||
| 				permission.type = 'members' and member.user = ?) | ||||
| 		group by thread.id | ||||
| 		order by thread.created desc`,
 | ||||
| 		order by max(post.created) desc, thread.created desc`,
 | ||||
| 		msg.auth_user.id | ||||
| 	); | ||||
| 	return respond({ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue