✌️
This commit is contained in:
		| @@ -5,12 +5,12 @@ | |||||||
|  */ |  */ | ||||||
| import validate from '../../validator'; | import validate from '../../validator'; | ||||||
| import parse from '../../../common/text'; | import parse from '../../../common/text'; | ||||||
| import { Post, isValidText } from '../../models/post'; | import Post from '../../models/post'; | ||||||
|  | import { isValidText } from '../../models/post'; | ||||||
| import User from '../../models/user'; | import User from '../../models/user'; | ||||||
| import Following from '../../models/following'; | import Following from '../../models/following'; | ||||||
| import DriveFile from '../../models/drive-file'; | import DriveFile from '../../models/drive-file'; | ||||||
| import serialize from '../../serializers/post'; | import serialize from '../../serializers/post'; | ||||||
| import createFile from '../../common/add-file-to-drive'; |  | ||||||
| import notify from '../../common/notify'; | import notify from '../../common/notify'; | ||||||
| import event from '../../event'; | import event from '../../event'; | ||||||
| import config from '../../../conf'; | import config from '../../../conf'; | ||||||
| @@ -139,6 +139,7 @@ module.exports = (params, user, app) => | |||||||
| 					if (typeof choice != 'string') return true; | 					if (typeof choice != 'string') return true; | ||||||
| 					if (choice.trim().length == 0) return true; | 					if (choice.trim().length == 0) return true; | ||||||
| 					if (choice.trim().length > 50) return true; | 					if (choice.trim().length > 50) return true; | ||||||
|  | 					return false; | ||||||
| 				}); | 				}); | ||||||
| 				return shouldReject ? 'invalid poll choices' : true; | 				return shouldReject ? 'invalid poll choices' : true; | ||||||
| 			}, | 			}, | ||||||
| @@ -167,7 +168,7 @@ module.exports = (params, user, app) => | |||||||
| 	const post = await Post.insert({ | 	const post = await Post.insert({ | ||||||
| 		created_at: new Date(), | 		created_at: new Date(), | ||||||
| 		media_ids: files ? files.map(file => file._id) : undefined, | 		media_ids: files ? files.map(file => file._id) : undefined, | ||||||
| 		reply_to_id: replyTo ? replyTo._id : undefined, | 		reply_to_id: inReplyToPost ? inReplyToPost._id : undefined, | ||||||
| 		repost_id: repost ? repost._id : undefined, | 		repost_id: repost ? repost._id : undefined, | ||||||
| 		poll: poll ? poll : undefined, | 		poll: poll ? poll : undefined, | ||||||
| 		text: text, | 		text: text, | ||||||
| @@ -225,21 +226,21 @@ module.exports = (params, user, app) => | |||||||
| 	}); | 	}); | ||||||
| 
 | 
 | ||||||
| 	// If has in reply to post
 | 	// If has in reply to post
 | ||||||
| 	if (replyTo) { | 	if (inReplyToPost) { | ||||||
| 		// Increment replies count
 | 		// Increment replies count
 | ||||||
| 		Post.update({ _id: replyTo._id }, { | 		Post.update({ _id: inReplyToPost._id }, { | ||||||
| 			$inc: { | 			$inc: { | ||||||
| 				replies_count: 1 | 				replies_count: 1 | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
| 
 | 
 | ||||||
| 		// 自分自身へのリプライでない限りは通知を作成
 | 		// 自分自身へのリプライでない限りは通知を作成
 | ||||||
| 		notify(replyTo.user_id, user._id, 'reply', { | 		notify(inReplyToPost.user_id, user._id, 'reply', { | ||||||
| 			post_id: post._id | 			post_id: post._id | ||||||
| 		}); | 		}); | ||||||
| 
 | 
 | ||||||
| 		// Add mention
 | 		// Add mention
 | ||||||
| 		addMention(replyTo.user_id, 'reply'); | 		addMention(inReplyToPost.user_id, 'reply'); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// If it is repost
 | 	// If it is repost
 | ||||||
| @@ -284,7 +285,7 @@ module.exports = (params, user, app) => | |||||||
| 	if (text) { | 	if (text) { | ||||||
| 		// Analyze
 | 		// Analyze
 | ||||||
| 		const tokens = parse(text); | 		const tokens = parse(text); | ||||||
| 
 | /* | ||||||
| 		// Extract a hashtags
 | 		// Extract a hashtags
 | ||||||
| 		const hashtags = tokens | 		const hashtags = tokens | ||||||
| 			.filter(t => t.type == 'hashtag') | 			.filter(t => t.type == 'hashtag') | ||||||
| @@ -293,8 +294,8 @@ module.exports = (params, user, app) => | |||||||
| 			.filter((v, i, s) => s.indexOf(v) == i); | 			.filter((v, i, s) => s.indexOf(v) == i); | ||||||
| 
 | 
 | ||||||
| 		// ハッシュタグをデータベースに登録
 | 		// ハッシュタグをデータベースに登録
 | ||||||
| 		//registerHashtags(user, hashtags);
 | 		registerHashtags(user, hashtags); | ||||||
| 
 | */ | ||||||
| 		// Extract an '@' mentions
 | 		// Extract an '@' mentions
 | ||||||
| 		const atMentions = tokens | 		const atMentions = tokens | ||||||
| 			.filter(t => t.type == 'mention') | 			.filter(t => t.type == 'mention') | ||||||
| @@ -315,7 +316,7 @@ module.exports = (params, user, app) => | |||||||
| 			if (mentionee == null) return; | 			if (mentionee == null) return; | ||||||
| 
 | 
 | ||||||
| 			// 既に言及されたユーザーに対する返信や引用repostの場合も無視
 | 			// 既に言及されたユーザーに対する返信や引用repostの場合も無視
 | ||||||
| 			if (replyTo && replyTo.user_id.equals(mentionee._id)) return; | 			if (inReplyToPost && inReplyToPost.user_id.equals(mentionee._id)) return; | ||||||
| 			if (repost && repost.user_id.equals(mentionee._id)) return; | 			if (repost && repost.user_id.equals(mentionee._id)) return; | ||||||
| 
 | 
 | ||||||
| 			// Add mention
 | 			// Add mention
 | ||||||
| @@ -10,8 +10,8 @@ function validate(value: any, type: 'string', isRequired?: boolean, validator?: | |||||||
| function validate(value: any, type: 'number', isRequired?: boolean, validator?: Validator<number>): [number, string]; | function validate(value: any, type: 'number', isRequired?: boolean, validator?: Validator<number>): [number, string]; | ||||||
| function validate(value: any, type: 'boolean', isRequired?: boolean): [boolean, string]; | function validate(value: any, type: 'boolean', isRequired?: boolean): [boolean, string]; | ||||||
| function validate(value: any, type: 'array', isRequired?: boolean, validator?: Validator<any[]>): [any[], string]; | function validate(value: any, type: 'array', isRequired?: boolean, validator?: Validator<any[]>): [any[], string]; | ||||||
| function validate(value: any, type: 'set', isRequired?: boolean, validator?: Validator<Set<any>>): [Set<any>, string]; | function validate(value: any, type: 'set', isRequired?: boolean, validator?: Validator<any[]>): [any[], string]; | ||||||
| function validate(value: any, type: 'object', isRequired?: boolean, validator?: Validator<Object>): [Object, string]; | function validate(value: any, type: 'object', isRequired?: boolean, validator?: Validator<any>): [any, string]; | ||||||
| function validate<T>(value: any, type: Type, isRequired?: boolean, validator?: Validator<T>): [T, string] { | function validate<T>(value: any, type: Type, isRequired?: boolean, validator?: Validator<T>): [T, string] { | ||||||
| 	if (value === undefined || value === null) { | 	if (value === undefined || value === null) { | ||||||
| 		if (isRequired) { | 		if (isRequired) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo