cw
This commit is contained in:
		
							parent
							
								
									5c3ca62426
								
							
						
					
					
						commit
						75c4c844e6
					
				
					 3 changed files with 17 additions and 1 deletions
				
			
		| 
						 | 
					@ -11,6 +11,12 @@ params:
 | 
				
			||||||
    desc:
 | 
					    desc:
 | 
				
			||||||
      ja: "投稿の本文"
 | 
					      ja: "投稿の本文"
 | 
				
			||||||
      en: "The text of your post"
 | 
					      en: "The text of your post"
 | 
				
			||||||
 | 
					  - name: "cw"
 | 
				
			||||||
 | 
					    type: "string"
 | 
				
			||||||
 | 
					    optional: true
 | 
				
			||||||
 | 
					    desc:
 | 
				
			||||||
 | 
					      ja: "コンテンツの警告。このパラメータを指定すると設定したテキストで投稿のコンテンツを隠す事が出来ます。"
 | 
				
			||||||
 | 
					      en: "Content Warning"
 | 
				
			||||||
  - name: "mediaIds"
 | 
					  - name: "mediaIds"
 | 
				
			||||||
    type: "id(DriveFile)[]"
 | 
					    type: "id(DriveFile)[]"
 | 
				
			||||||
    optional: true
 | 
					    optional: true
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,10 @@ export function isValidText(text: string): boolean {
 | 
				
			||||||
	return text.length <= 1000 && text.trim() != '';
 | 
						return text.length <= 1000 && text.trim() != '';
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function isValidCw(text: string): boolean {
 | 
				
			||||||
 | 
						return text.length <= 100 && text.trim() != '';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export type IPost = {
 | 
					export type IPost = {
 | 
				
			||||||
	_id: mongo.ObjectID;
 | 
						_id: mongo.ObjectID;
 | 
				
			||||||
	channelId: mongo.ObjectID;
 | 
						channelId: mongo.ObjectID;
 | 
				
			||||||
| 
						 | 
					@ -27,6 +31,7 @@ export type IPost = {
 | 
				
			||||||
	repostId: mongo.ObjectID;
 | 
						repostId: mongo.ObjectID;
 | 
				
			||||||
	poll: any; // todo
 | 
						poll: any; // todo
 | 
				
			||||||
	text: string;
 | 
						text: string;
 | 
				
			||||||
 | 
						cw: string;
 | 
				
			||||||
	userId: mongo.ObjectID;
 | 
						userId: mongo.ObjectID;
 | 
				
			||||||
	appId: mongo.ObjectID;
 | 
						appId: mongo.ObjectID;
 | 
				
			||||||
	viaMobile: boolean;
 | 
						viaMobile: boolean;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
import $ from 'cafy';
 | 
					import $ from 'cafy';
 | 
				
			||||||
import deepEqual = require('deep-equal');
 | 
					import deepEqual = require('deep-equal');
 | 
				
			||||||
import parse from '../../../../common/text';
 | 
					import parse from '../../../../common/text';
 | 
				
			||||||
import { default as Post, IPost, isValidText } from '../../../../models/post';
 | 
					import { default as Post, IPost, isValidText, isValidCw } from '../../../../models/post';
 | 
				
			||||||
import { default as User, ILocalAccount, IUser } from '../../../../models/user';
 | 
					import { default as User, ILocalAccount, IUser } from '../../../../models/user';
 | 
				
			||||||
import { default as Channel, IChannel } from '../../../../models/channel';
 | 
					import { default as Channel, IChannel } from '../../../../models/channel';
 | 
				
			||||||
import Following from '../../../../models/following';
 | 
					import Following from '../../../../models/following';
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,10 @@ module.exports = (params, user: IUser, app) => new Promise(async (res, rej) => {
 | 
				
			||||||
	const [text, textErr] = $(params.text).optional.string().pipe(isValidText).$;
 | 
						const [text, textErr] = $(params.text).optional.string().pipe(isValidText).$;
 | 
				
			||||||
	if (textErr) return rej('invalid text');
 | 
						if (textErr) return rej('invalid text');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Get 'cw' parameter
 | 
				
			||||||
 | 
						const [cw, cwErr] = $(params.cw).optional.string().pipe(isValidCw).$;
 | 
				
			||||||
 | 
						if (cwErr) return rej('invalid cw');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get 'viaMobile' parameter
 | 
						// Get 'viaMobile' parameter
 | 
				
			||||||
	const [viaMobile = false, viaMobileErr] = $(params.viaMobile).optional.boolean().$;
 | 
						const [viaMobile = false, viaMobileErr] = $(params.viaMobile).optional.boolean().$;
 | 
				
			||||||
	if (viaMobileErr) return rej('invalid viaMobile');
 | 
						if (viaMobileErr) return rej('invalid viaMobile');
 | 
				
			||||||
| 
						 | 
					@ -255,6 +259,7 @@ module.exports = (params, user: IUser, app) => new Promise(async (res, rej) => {
 | 
				
			||||||
		repostId: repost ? repost._id : undefined,
 | 
							repostId: repost ? repost._id : undefined,
 | 
				
			||||||
		poll: poll,
 | 
							poll: poll,
 | 
				
			||||||
		text: text,
 | 
							text: text,
 | 
				
			||||||
 | 
							cw: cw,
 | 
				
			||||||
		tags: tags,
 | 
							tags: tags,
 | 
				
			||||||
		userId: user._id,
 | 
							userId: user._id,
 | 
				
			||||||
		appId: app ? app._id : null,
 | 
							appId: app ? app._id : null,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue