Language filtering in streaming API (#3339)
This commit is contained in:
		
							parent
							
								
									44cb08297c
								
							
						
					
					
						commit
						0734e1fe33
					
				
					 1 changed files with 7 additions and 1 deletions
				
			
		|  | @ -168,7 +168,7 @@ if (cluster.isMaster) { | |||
|         return; | ||||
|       } | ||||
| 
 | ||||
|       client.query('SELECT oauth_access_tokens.resource_owner_id, users.account_id FROM oauth_access_tokens INNER JOIN users ON oauth_access_tokens.resource_owner_id = users.id WHERE oauth_access_tokens.token = $1 LIMIT 1', [token], (err, result) => { | ||||
|       client.query('SELECT oauth_access_tokens.resource_owner_id, users.account_id, users.filtered_languages FROM oauth_access_tokens INNER JOIN users ON oauth_access_tokens.resource_owner_id = users.id WHERE oauth_access_tokens.token = $1 LIMIT 1', [token], (err, result) => { | ||||
|         done(); | ||||
| 
 | ||||
|         if (err) { | ||||
|  | @ -185,6 +185,7 @@ if (cluster.isMaster) { | |||
|         } | ||||
| 
 | ||||
|         req.accountId = result.rows[0].account_id; | ||||
|         req.filteredLanguages = result.rows[0].filtered_languages; | ||||
| 
 | ||||
|         next(); | ||||
|       }); | ||||
|  | @ -248,6 +249,11 @@ if (cluster.isMaster) { | |||
|           const targetAccountIds = [unpackedPayload.account.id].concat(unpackedPayload.mentions.map(item => item.id)).concat(unpackedPayload.reblog ? [unpackedPayload.reblog.account.id] : []); | ||||
|           const accountDomain    = unpackedPayload.account.acct.split('@')[1]; | ||||
| 
 | ||||
|           if (req.filteredLanguages.indexOf(unpackedPayload.language) !== -1) { | ||||
|             log.silly(req.requestId, `Message ${unpackedPayload.id} filtered by language (${unpackedPayload.language})`); | ||||
|             return; | ||||
|           } | ||||
| 
 | ||||
|           const queries = [ | ||||
|             client.query(`SELECT 1 FROM blocks WHERE account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 1)}) UNION SELECT 1 FROM mutes WHERE account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 1)})`, [req.accountId].concat(targetAccountIds)), | ||||
|           ]; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue