summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/messaging
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2018-08-01 08:34:22 +0900
committerGitHub <noreply@github.com>2018-08-01 08:34:22 +0900
commit77faf7a84cc28d9a24803940730e59706edd4ec8 (patch)
treea3a366deedc99a98bcfe7358eb48aff0ff5fe71c /src/server/api/endpoints/messaging
parentNew translations ja.yml (English) (diff)
parentMerge pull request #2033 from syuilo/greenkeeper/qrcode-1.2.2 (diff)
downloadmisskey-77faf7a84cc28d9a24803940730e59706edd4ec8.tar.gz
misskey-77faf7a84cc28d9a24803940730e59706edd4ec8.tar.bz2
misskey-77faf7a84cc28d9a24803940730e59706edd4ec8.zip
Merge branch 'master' into l10n_master
Diffstat (limited to 'src/server/api/endpoints/messaging')
-rw-r--r--src/server/api/endpoints/messaging/history.ts18
-rw-r--r--src/server/api/endpoints/messaging/messages.ts36
-rw-r--r--src/server/api/endpoints/messaging/messages/create.ts30
3 files changed, 54 insertions, 30 deletions
diff --git a/src/server/api/endpoints/messaging/history.ts b/src/server/api/endpoints/messaging/history.ts
index 713ba9dd7f..66798d50c5 100644
--- a/src/server/api/endpoints/messaging/history.ts
+++ b/src/server/api/endpoints/messaging/history.ts
@@ -4,12 +4,20 @@ import Mute from '../../../../models/mute';
import { pack } from '../../../../models/messaging-message';
import { ILocalUser } from '../../../../models/user';
-/**
- * Show messaging history
- */
-module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
+export const meta = {
+ desc: {
+ ja: 'Messagingの履歴を取得します。',
+ en: 'Show messaging history.'
+ },
+
+ requireCredential: true,
+
+ kind: 'messaging-read'
+};
+
+export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'limit' parameter
- const [limit = 10, limitErr] = $.num.optional().range(1, 100).get(params.limit);
+ const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit);
if (limitErr) return rej('invalid limit param');
const mute = await Mute.find({
diff --git a/src/server/api/endpoints/messaging/messages.ts b/src/server/api/endpoints/messaging/messages.ts
index 3eb20ec06b..ae26419bc6 100644
--- a/src/server/api/endpoints/messaging/messages.ts
+++ b/src/server/api/endpoints/messaging/messages.ts
@@ -1,13 +1,21 @@
-import $ from 'cafy'; import ID from '../../../../cafy-id';
+import $ from 'cafy'; import ID from '../../../../misc/cafy-id';
import Message from '../../../../models/messaging-message';
import User, { ILocalUser } from '../../../../models/user';
import { pack } from '../../../../models/messaging-message';
import read from '../../common/read-messaging-message';
-/**
- * Get messages
- */
-module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
+export const meta = {
+ desc: {
+ ja: '指定したユーザーとのMessagingのメッセージ一覧を取得します。',
+ en: 'Get messages of messaging.'
+ },
+
+ requireCredential: true,
+
+ kind: 'messaging-read'
+};
+
+export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'userId' parameter
const [recipientId, recipientIdErr] = $.type(ID).get(params.userId);
if (recipientIdErr) return rej('invalid userId param');
@@ -16,29 +24,29 @@ module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej)
const recipient = await User.findOne({
_id: recipientId
}, {
- fields: {
- _id: true
- }
- });
+ fields: {
+ _id: true
+ }
+ });
if (recipient === null) {
return rej('user not found');
}
// Get 'markAsRead' parameter
- const [markAsRead = true, markAsReadErr] = $.bool.optional().get(params.markAsRead);
+ const [markAsRead = true, markAsReadErr] = $.bool.optional.get(params.markAsRead);
if (markAsReadErr) return rej('invalid markAsRead param');
// Get 'limit' parameter
- const [limit = 10, limitErr] = $.num.optional().range(1, 100).get(params.limit);
+ const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit);
if (limitErr) return rej('invalid limit param');
// Get 'sinceId' parameter
- const [sinceId, sinceIdErr] = $.type(ID).optional().get(params.sinceId);
+ const [sinceId, sinceIdErr] = $.type(ID).optional.get(params.sinceId);
if (sinceIdErr) return rej('invalid sinceId param');
// Get 'untilId' parameter
- const [untilId, untilIdErr] = $.type(ID).optional().get(params.untilId);
+ const [untilId, untilIdErr] = $.type(ID).optional.get(params.untilId);
if (untilIdErr) return rej('invalid untilId param');
// Check if both of sinceId and untilId is specified
@@ -88,7 +96,7 @@ module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej)
return;
}
- // Mark as read all
+ // Mark all as read
if (markAsRead) {
read(user._id, recipient._id, messages);
}
diff --git a/src/server/api/endpoints/messaging/messages/create.ts b/src/server/api/endpoints/messaging/messages/create.ts
index b3e4f6a8cd..8ebf1a2a2b 100644
--- a/src/server/api/endpoints/messaging/messages/create.ts
+++ b/src/server/api/endpoints/messaging/messages/create.ts
@@ -1,4 +1,4 @@
-import $ from 'cafy'; import ID from '../../../../../cafy-id';
+import $ from 'cafy'; import ID from '../../../../../misc/cafy-id';
import Message from '../../../../../models/messaging-message';
import { isValidText } from '../../../../../models/messaging-message';
import History from '../../../../../models/messaging-history';
@@ -6,15 +6,23 @@ import User, { ILocalUser } from '../../../../../models/user';
import Mute from '../../../../../models/mute';
import DriveFile from '../../../../../models/drive-file';
import { pack } from '../../../../../models/messaging-message';
-import publishUserStream from '../../../../../publishers/stream';
-import { publishMessagingStream, publishMessagingIndexStream } from '../../../../../publishers/stream';
-import pushSw from '../../../../../publishers/push-sw';
+import { publishUserStream } from '../../../../../stream';
+import { publishMessagingStream, publishMessagingIndexStream } from '../../../../../stream';
+import pushSw from '../../../../../push-sw';
import config from '../../../../../config';
-/**
- * Create a message
- */
-module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
+export const meta = {
+ desc: {
+ ja: '指定したユーザーへMessagingのメッセージを送信します。',
+ en: 'Create a message of messaging.'
+ },
+
+ requireCredential: true,
+
+ kind: 'messaging-write'
+};
+
+export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'userId' parameter
const [recipientId, recipientIdErr] = $.type(ID).get(params.userId);
if (recipientIdErr) return rej('invalid userId param');
@@ -38,11 +46,11 @@ module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej)
}
// Get 'text' parameter
- const [text, textErr] = $.str.optional().pipe(isValidText).get(params.text);
+ const [text, textErr] = $.str.optional.pipe(isValidText).get(params.text);
if (textErr) return rej('invalid text');
// Get 'fileId' parameter
- const [fileId, fileIdErr] = $.type(ID).optional().get(params.fileId);
+ const [fileId, fileIdErr] = $.type(ID).optional.get(params.fileId);
if (fileIdErr) return rej('invalid fileId param');
let file = null;
@@ -116,7 +124,7 @@ module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej)
}, 3000);
// Register to search database
- if (message.text && config.elasticsearch.enable) {
+ if (message.text && config.elasticsearch) {
const es = require('../../../db/elasticsearch');
es.index({