summaryrefslogtreecommitdiff
path: root/src/server/api/models/messaging-message.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-03-29 20:32:18 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-03-29 20:32:18 +0900
commitcf33e483f7e6f40e8cbbbc0118a7df70bdaf651f (patch)
tree318279530d3392ee40d91968477fc0e78d5cf0f7 /src/server/api/models/messaging-message.ts
parentUpdate .travis.yml (diff)
downloadsharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.tar.gz
sharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.tar.bz2
sharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.zip
整理した
Diffstat (limited to 'src/server/api/models/messaging-message.ts')
-rw-r--r--src/server/api/models/messaging-message.ts82
1 files changed, 0 insertions, 82 deletions
diff --git a/src/server/api/models/messaging-message.ts b/src/server/api/models/messaging-message.ts
deleted file mode 100644
index d3a418c9a6..0000000000
--- a/src/server/api/models/messaging-message.ts
+++ /dev/null
@@ -1,82 +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>('messagingMessages');
-export default MessagingMessage;
-
-export interface IMessagingMessage {
- _id: mongo.ObjectID;
- createdAt: Date;
- text: string;
- userId: mongo.ObjectID;
- recipientId: mongo.ObjectID;
- isRead: boolean;
- fileId: mongo.ObjectID;
-}
-
-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.userId, me);
-
- if (_message.fileId) {
- // Populate file
- _message.file = await packFile(_message.fileId);
- }
-
- if (opts.populateRecipient) {
- // Populate recipient
- _message.recipient = await packUser(_message.recipientId, me);
- }
-
- resolve(_message);
-});