summaryrefslogtreecommitdiff
path: root/src/api/models/messaging-message.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-29 01:20:40 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-29 01:54:41 +0900
commit90f8fe7e538bb7e52d2558152a0390e693f39b11 (patch)
tree0f830887053c8f352b1cd0c13ca715fd14c1f030 /src/api/models/messaging-message.ts
parentImplement remote account resolution (diff)
downloadsharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.tar.gz
sharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.tar.bz2
sharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.zip
Introduce processor
Diffstat (limited to 'src/api/models/messaging-message.ts')
-rw-r--r--src/api/models/messaging-message.ts81
1 files changed, 0 insertions, 81 deletions
diff --git a/src/api/models/messaging-message.ts b/src/api/models/messaging-message.ts
deleted file mode 100644
index fcb356c5ca..0000000000
--- a/src/api/models/messaging-message.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import * as mongo from 'mongodb';
-import deepcopy = require('deepcopy');
-import { pack as packUser } from './user';
-import { pack as packFile } from './drive-file';
-import db from '../../db/mongodb';
-import parse from '../common/text';
-
-const MessagingMessage = db.get<IMessagingMessage>('messaging_messages');
-export default MessagingMessage;
-
-export interface IMessagingMessage {
- _id: mongo.ObjectID;
- created_at: Date;
- text: string;
- user_id: mongo.ObjectID;
- recipient_id: mongo.ObjectID;
- is_read: boolean;
-}
-
-export function isValidText(text: string): boolean {
- return text.length <= 1000 && text.trim() != '';
-}
-
-/**
- * Pack a messaging message for API response
- *
- * @param {any} message
- * @param {any} me?
- * @param {any} options?
- * @return {Promise<any>}
- */
-export const pack = (
- message: any,
- me?: any,
- options?: {
- populateRecipient: boolean
- }
-) => new Promise<any>(async (resolve, reject) => {
- const opts = options || {
- populateRecipient: true
- };
-
- let _message: any;
-
- // Populate the message if 'message' is ID
- if (mongo.ObjectID.prototype.isPrototypeOf(message)) {
- _message = await MessagingMessage.findOne({
- _id: message
- });
- } else if (typeof message === 'string') {
- _message = await MessagingMessage.findOne({
- _id: new mongo.ObjectID(message)
- });
- } else {
- _message = deepcopy(message);
- }
-
- // Rename _id to id
- _message.id = _message._id;
- delete _message._id;
-
- // Parse text
- if (_message.text) {
- _message.ast = parse(_message.text);
- }
-
- // Populate user
- _message.user = await packUser(_message.user_id, me);
-
- if (_message.file_id) {
- // Populate file
- _message.file = await packFile(_message.file_id);
- }
-
- if (opts.populateRecipient) {
- // Populate recipient
- _message.recipient = await packUser(_message.recipient_id, me);
- }
-
- resolve(_message);
-});