Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ export const createSystemMessagesOnCommonAboutEdited = async (
];

await discussionMessageDb.addDiscussionMessage({
commonId: common.id,
discussionId: discussion.id,
ownerName: "System",
ownerAvatar: "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ export const createSystemMessagesOnCommonCreated = async (commonId: string) => {
];

await discussionMessageDb.addDiscussionMessage({
commonId: common.id,
discussionId: discussion.id,
ownerName: "System",
ownerAvatar: "",
Expand Down Expand Up @@ -90,7 +89,6 @@ export const createSystemMessagesOnCommonCreated = async (commonId: string) => {
];

await discussionMessageDb.addDiscussionMessage({
commonId: parentCommon.id,
discussionId: parentGeneralDiscussion.docs[0].id,
ownerName: "System",
ownerAvatar: "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ export const createSystemMessagesOnCommonMemberAdded = async (
];

await discussionMessageDb.addDiscussionMessage({
commonId: common.id,
discussionId: discussion.id,
ownerName: "System",
ownerAvatar: "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ export const createSystemMessagesOnFeedItemCreated = async (
];

await discussionMessageDb.addDiscussionMessage({
commonId: common.id,
discussionId: discussion.id,
ownerName: "System",
ownerAvatar: "",
Expand Down
1 change: 0 additions & 1 deletion functions/src/commons/eventHandlers/onCommonDeactivated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ async function createProjectDeletedSystemMessage(
];

await discussionMessageDb.addDiscussionMessage({
commonId: parentCommonId,
discussionId: discussion.id,
ownerName: "System",
ownerAvatar: "",
Expand Down
1 change: 0 additions & 1 deletion functions/src/commons/eventHandlers/onFeedItemDeleted.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ export const onFeedItemDeleted = async (
];

await discussionMessageDb.addDiscussionMessage({
commonId,
discussionId: discussion.id,
ownerName: "System",
ownerAvatar: "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ export const setFollowForMessageUsers = async (
feedItemId: feedObject.id,
emailSubscribed: true,
pushSubscribed: true,
commonId: discussionMessage.commonId,
commonId,
},
userId,
dbConfig
Expand Down
12 changes: 5 additions & 7 deletions functions/src/discussion/controllers/discussionMessage/update.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,14 @@ export const updateDiscussionMessage = async (
const validatedPayload =
await updateDiscussionMessageDataValidationScheme.validate(req.body);

const { commonId, discussionId } =
await discussionMessageDb.getDiscussionMessage(
validatedPayload.discussionMessageId,
true
);
const { discussionId } = await discussionMessageDb.getDiscussionMessage(
validatedPayload.discussionMessageId,
true
);

return await updateDiscussionMessageService(
validatedPayload,
discussionId,
commonId
discussionId
);
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ async function createInitialMessage(
];
await discussionMessageDb.addDiscussionMessage(
{
commonId: discussion.commonId,
discussionId: discussion.id,
ownerName: "System",
ownerAvatar: "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ export const createDiscussionMessageService = async (

const discussionMessage = await discussionMessageDb.addDiscussionMessage({
text: payload.text ?? "",
commonId: payload.commonId,
discussionId: payload.discussionId,
images: payload.images,
parentId: payload.parentId,
Expand Down
11 changes: 5 additions & 6 deletions functions/src/discussion/services/discussionMessage/update.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Timestamp } from "firebase-admin/firestore";
import { isNil } from "lodash";
import { isCommonMember } from "../../../commons/business";
import { UpdateDiscussionMessage } from "../../../shared/schemas";
import { discussionDb, discussionMessageDb } from "../../db";
import { discussionMessageCollection } from "../../db/discussionMessage";
Expand All @@ -9,12 +8,12 @@ import { updateDiscussionMessageNotification } from "../../../notification/busin
export const updateDiscussionMessageService = async (
payload: UpdateDiscussionMessage,
discussionId: string,
commonId: string
) => {
if (!isNil(payload?.mentions))
await Promise.all(
payload.mentions.map(async (uid) => isCommonMember(commonId, uid, true))
);
// TODO: check if user is member of common
// if (!isNil(payload?.mentions))
// await Promise.all(
// payload.mentions.map(async (uid) => isCommonMember(commonId, uid, true))
// );

await discussionMessageDb.updateDiscussionMessage(
payload.discussionMessageId,
Expand Down
6 changes: 5 additions & 1 deletion functions/src/moderation/util/items.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ export const getItemCommonId = async (
itemId,
true
);
return message.commonId;
const discussion = await discussionDb.getDiscussion(
message.discussionId,
true
);
return discussion.commonId;
}

throw new Error(`Unexpected type ${type}`);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { commonsDb } from "../../commons/db/common";
import { discussionMessageDb } from "../../discussion/db";
import { discussionDb, discussionMessageDb } from "../../discussion/db";
import { proposalsDb } from "../../proposals/db/proposals";
import { getUserFullName } from "../../reports/utils/getUserFullName";
import { env } from "../../shared/configs";
Expand All @@ -15,14 +15,18 @@ export const discussionMessageReported = {
messageId,
true
);
const discussion = await discussionDb.getDiscussion(
discussionMessage.discussionId,
true
);
const commonId =
discussionMessage.commonId ||
discussion.commonId ||
(await proposalsDb.get(discussionMessage.discussionId, true))?.data.args
.commonId;

const path = discussionMessage.commonId
? `Discussions/${commonId}/${discussionMessage.discussionId}`
: `ProposalScreen/${commonId}/${discussionMessage.discussionId}/1`; // 1 is tabIndex of chats in ProposalScreen
const path = discussion.proposalId
? `ProposalScreen/${commonId}/${discussionMessage.discussionId}/1` // 1 is tabIndex of chats in ProposalScreen
: `Discussions/${commonId}/${discussionMessage.discussionId}`;

if (!discussionMessage?.moderation?.reporter)
throw new CommonError(
Expand Down
8 changes: 4 additions & 4 deletions functions/src/notification/emailDefinitions/messageCreated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export const messageCreated = {
discussionMessage.discussionId,
false
);
const commonId = discussionMessage.commonId || proposal?.data.args.commonId;
const commonId = discussion.commonId || proposal?.data.args.commonId;

if (isNil(commonId)) throw new Error("commonId not found");

Expand All @@ -41,9 +41,9 @@ export const messageCreated = {
? (await commonsDb.get(common?.directParent?.commonId, true)).name
: "";

const path = discussionMessage.commonId
? `Discussions/${commonId}/${discussionMessage.discussionId}`
: `ProposalScreen/${commonId}/${discussionMessage.discussionId}/1`; // 1 is tabIndex of chats in ProposalScreen
const path = discussion.proposalId
? `ProposalScreen/${commonId}/${discussionMessage.discussionId}/1` // 1 is tabIndex of chats in ProposalScreen
: `Discussions/${commonId}/${discussionMessage.discussionId}`;

let reciever = undefined;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export const discussionMessageCreated: NotificationDefinition = {
discussionMessage.discussionId,
false
);
const commonId = discussionMessage.commonId || proposal?.data.args.commonId;
const commonId = discussion.commonId || proposal?.data.args.commonId;

if (isNil(commonId)) throw new Error("commonId not found");

Expand Down Expand Up @@ -187,40 +187,39 @@ export const discussionMessageCreated: NotificationDefinition = {
discussionMessage,
}: DiscussionMessageNotificationData) => {
const result: NotificationUserFilter = { push: [] };
const discussion = await discussionDb.getDiscussion(
discussionMessage.discussionId,
true
);
// Space creation message should be notified by the message in the parent common
if (
discussionMessage.ownerType === DiscussionMessageOwnerType.System &&
discussionMessage.systemMessageType ===
SystemDiscussionMessageType.CommonCreated &&
discussionMessage.systemMessageData.commonId ===
discussionMessage.commonId &&
discussionMessage.systemMessageData.commonId === discussion.commonId &&
discussionMessage.systemMessageData.commonType === "space"
) {
return result;
}

const discussionId = discussionMessage.discussionId;
const [discussion, discussionCommon, parentDiscussionMessage] =
await Promise.all([
discussionDb.getDiscussion(discussionId, true),
commonsDb.get(discussionMessage.commonId, true),
discussionMessage.parentId
? discussionMessageDb.getDiscussionMessage(
discussionMessage.parentId,
true
)
: Promise.resolve(undefined),
]);
const [discussionCommon, parentDiscussionMessage] = await Promise.all([
commonsDb.get(discussion.commonId, true),
discussionMessage.parentId
? discussionMessageDb.getDiscussionMessage(
discussionMessage.parentId,
true
)
: Promise.resolve(undefined),
]);

if (
discussionMessage.ownerType === DiscussionMessageOwnerType.System &&
discussionMessage.systemMessageType ===
SystemDiscussionMessageType.FeedItemCreated &&
discussionMessage.systemMessageData.commonId ===
discussionMessage.commonId &&
discussionMessage.systemMessageData.commonId === discussion.commonId &&
discussionCommon.directParent &&
discussion.predefinedType === DISCUSSION_PREDEFINED_TYPES.HOME &&
discussionMessage.systemMessageData.feedItemType ==
discussionMessage.systemMessageData.feedItemType ===
FeedObjectTypes.Discussion
) {
const createdDiscussion = await discussionDb.getDiscussion(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,6 @@ type UserDiscussionMessage = BaseDiscussionMessage & {
};

type BaseDiscussionMessage = BaseEntity & {
/**
* ID of the common which is associated with the parent discussion of this message
*/
commonId: string;

/**
* ID of the parent discussion of this message, could be a Discussion ID, or a Proposal ID
*/
Expand Down