diff --git a/src/models/User.ts b/src/models/User.ts index b1750ee7725..8f8eb098be5 100644 --- a/src/models/User.ts +++ b/src/models/User.ts @@ -5,7 +5,6 @@ import validator from "validator"; import type { InterfaceEvent } from "./Event"; import type { InterfaceMembershipRequest } from "./MembershipRequest"; import type { InterfaceOrganization } from "./Organization"; -import type { InterfaceUserFamily } from "./userFamily"; import { createLoggingMiddleware } from "../libraries/dbLogger"; import { LOG } from "../constants"; @@ -26,13 +25,11 @@ export interface InterfaceUser { }; adminApproved: boolean; adminFor: PopulatedDoc[]; - adminForUserFamily: PopulatedDoc[]; appLanguageCode: string; birthDate: Date; createdAt: Date; createdEvents: PopulatedDoc[]; createdOrganizations: PopulatedDoc[]; - createdUserFamily: PopulatedDoc[]; educationGrade: string; email: string; employmentStatus: string; @@ -41,7 +38,6 @@ export interface InterfaceUser { gender: string; image: string | undefined | null; joinedOrganizations: PopulatedDoc[]; - joinedUserFamily: PopulatedDoc[]; lastName: string; maritalStatus: string; membershipRequests: PopulatedDoc[]; @@ -130,12 +126,6 @@ const userSchema = new Schema( ref: "Organization", }, ], - adminForUserFamily: [ - { - type: Schema.Types.ObjectId, - ref: "Organization", - }, - ], appLanguageCode: { type: String, required: true, @@ -150,12 +140,6 @@ const userSchema = new Schema( ref: "Organization", }, ], - createdUserFamily: [ - { - type: Schema.Types.ObjectId, - ref: "Organization", - }, - ], createdEvents: [ { type: Schema.Types.ObjectId, @@ -216,12 +200,6 @@ const userSchema = new Schema( ref: "Organization", }, ], - joinedUserFamily: [ - { - type: Schema.Types.ObjectId, - ref: "Organization", - }, - ], lastName: { type: String, required: true, diff --git a/src/resolvers/Mutation/adminAddMemberToUserFamily.ts b/src/resolvers/Mutation/adminAddMemberToUserFamily.ts index 95018c5658a..34e9b301896 100644 --- a/src/resolvers/Mutation/adminAddMemberToUserFamily.ts +++ b/src/resolvers/Mutation/adminAddMemberToUserFamily.ts @@ -64,17 +64,6 @@ export const addUserToUserFamily: MutationResolvers["addUserToUserFamily"] = USER_ALREADY_MEMBER_ERROR.PARAM ); } - //Adds args.familyId to userJoinedFamily - await User.findOneAndUpdate( - { - _id: args.userId, - }, - { - $push: { - joinedUserFamily: args.familyId, - }, - } - ); // Adds args.userId to users lists on family group and return the updated family. return await UserFamily.findOneAndUpdate( diff --git a/src/resolvers/Mutation/adminRemoveMemberFromUserFamily.ts b/src/resolvers/Mutation/adminRemoveMemberFromUserFamily.ts index dcc5c41d523..a840dec045c 100644 --- a/src/resolvers/Mutation/adminRemoveMemberFromUserFamily.ts +++ b/src/resolvers/Mutation/adminRemoveMemberFromUserFamily.ts @@ -110,20 +110,6 @@ export const removeUserFromUserFamily: MutationResolvers["removeUserFromUserFami ); } - //Removes familyId from user joined families. - await User.findOneAndUpdate( - { - _id: args.userId, - }, - { - $set: { - joinedUserFamily: currentUser?.joinedUserFamily.filter( - (userFamily) => userFamily.toString() !== args.familyId.toString() - ), - }, - } - ); - //Removes args.userId from users list of user family ans return the updated family. return await UserFamily.findOneAndUpdate( { diff --git a/src/resolvers/Mutation/createUserFamily.ts b/src/resolvers/Mutation/createUserFamily.ts index 73847a3bb17..a3d50b408a0 100644 --- a/src/resolvers/Mutation/createUserFamily.ts +++ b/src/resolvers/Mutation/createUserFamily.ts @@ -77,29 +77,5 @@ export const createUserFamily: MutationResolvers["createUserFamily"] = async ( creator: context.userId, }); - await User.findOneAndUpdate( - { - _id: context.userId, - }, - { - $push: { - adminForUserFamily: createdUserFamily, - joinedUserFamily: createdUserFamily, - createdUserFamily: createdUserFamily, - }, - } - ); - - await User.updateMany( - { - _id: { $in: args.data.userIds }, - }, - { - $push: { - joinedUserFamily: createdUserFamily, - }, - } - ); - return createdUserFamily.toObject(); }; diff --git a/src/resolvers/Mutation/removeUserFamily.ts b/src/resolvers/Mutation/removeUserFamily.ts index 1bc2cbc41a5..79a53336159 100644 --- a/src/resolvers/Mutation/removeUserFamily.ts +++ b/src/resolvers/Mutation/removeUserFamily.ts @@ -50,24 +50,6 @@ export const removeUserFamily: MutationResolvers["removeUserFamily"] = async ( ); } - // Update user documents to remove familyId from relevant fields - await User.updateMany( - { - $or: [ - { createdOrganizations: args.familyId }, - { joinedOrganizations: args.familyId }, - { adminForUserFamily: args.familyId }, - ], - }, - { - $pull: { - createdOrganizations: args.familyId, - joinedOrganizations: args.familyId, - adminForUserFamily: args.familyId, - }, - } - ); - // Deletes the UserFamily. await UserFamily.deleteOne({ _id: userFamily._id, diff --git a/tests/resolvers/Mutation/adminAddMemberToUserFamily.spec.ts b/tests/resolvers/Mutation/adminAddMemberToUserFamily.spec.ts index 2d7ac1f2cab..f99b89aeaf2 100644 --- a/tests/resolvers/Mutation/adminAddMemberToUserFamily.spec.ts +++ b/tests/resolvers/Mutation/adminAddMemberToUserFamily.spec.ts @@ -14,7 +14,6 @@ import { beforeAll, afterAll, describe, it, expect, vi } from "vitest"; import type { TestUserType } from "../../helpers/userAndUserFamily"; import type { TestUserFamilyType } from "../../helpers/userAndUserFamily"; import { createTestUserAndUserFamily } from "../../helpers/userAndUserFamily"; -import { User } from "../../../src/models"; let testUser: TestUserType; let testUserFamily: TestUserFamilyType; @@ -125,17 +124,6 @@ describe("resolver -> mutation -> addUserToUserFamily", () => { } ); - await User.updateOne( - { - _id: testUser?._id, - }, - { - $addToSet: { - joinedUserFamily: testUserFamily?._id, - }, - } - ); - const args: MutationAddUserToUserFamilyArgs = { familyId: testUserFamily?.id, userId: testUser?.id, diff --git a/tests/resolvers/Mutation/adminRemoveMemberFromUserFamily.spec.ts b/tests/resolvers/Mutation/adminRemoveMemberFromUserFamily.spec.ts index a74761cf7cb..8ebe2069721 100644 --- a/tests/resolvers/Mutation/adminRemoveMemberFromUserFamily.spec.ts +++ b/tests/resolvers/Mutation/adminRemoveMemberFromUserFamily.spec.ts @@ -44,30 +44,6 @@ beforeAll(async () => { admins: [testUsers[2]?._id, testUsers[1]?._id], creator: testUsers[2]?._id, }); - - await User.updateOne( - { - _id: testUsers[2]?._id, - }, - { - $push: { - joinedUserFamily: testUserFamily._id, - adminForUserFamily: testUserFamily._id, - createdUserFamily: testUserFamily._id, - }, - } - ); - - await User.updateMany( - { - _id: { $in: [testUsers[0]?._id, testUsers[1]?._id, testUsers[4]?._id] }, - }, - { - $push: { - joinedUserFamily: testUserFamily._id, - }, - } - ); }); afterAll(async () => { @@ -301,12 +277,7 @@ describe("resolver -> Mutation -> removerUserFromUserFamily", () => { context ); - const removedUser = await User.findOne({ - _id: testUsers[4]?.id, - }); - expect(updatedUserFamily?.users).not.toContain(testUsers[4]?._id); - expect(removedUser?.joinedUserFamily).not.toContain(testUserFamily?._id); } catch (error: any) { expect(spy).toHaveBeenCalledWith(USER_NOT_FOUND_ERROR.MESSAGE); expect(error.message).toEqual( diff --git a/tests/resolvers/Mutation/createUserFamily.spec.ts b/tests/resolvers/Mutation/createUserFamily.spec.ts index 2d6f0486195..78f27f9e83e 100644 --- a/tests/resolvers/Mutation/createUserFamily.spec.ts +++ b/tests/resolvers/Mutation/createUserFamily.spec.ts @@ -27,10 +27,6 @@ beforeAll(async () => { testUser = resultsArray; testUser2 = secondUser; - // const { requestContext } = await import("../../../src/libraries"); - // vi.spyOn(requestContext, "translate").mockImplementation( - // (message) => message - // ); }); afterAll(async () => { @@ -161,45 +157,6 @@ describe("resolvers -> Mutation -> createUserFamily", () => { } }); - it(`Updated the User to contain user Family`, async () => { - const args: MutationCreateUserFamilyArgs = { - data: { - title: "title", - userIds: [testUser?._id, testUser2?._id], - }, - }; - - const context = { - userId: testUser?.id, - }; - - const { createUserFamily: createUserFamilyResolver } = await import( - "../../../src/resolvers/Mutation/createUserFamily" - ); - - const createUserFamilyPayload = await createUserFamilyResolver?.( - {}, - args, - context - ); - - const updatedUsers = await User.find({ - _id: { $in: [testUser?._id, testUser2?._id] }, - }); - - updatedUsers.forEach((user) => { - expect(user.joinedUserFamily).toContainEqual( - createUserFamilyPayload?._id - ); - }); - expect(updatedUsers[0].createdUserFamily).toContainEqual( - createUserFamilyPayload?._id - ); - expect(updatedUsers[0].adminForUserFamily).toContainEqual( - createUserFamilyPayload?._id - ); - }); - it(`creates the user Family and returns it`, async () => { const args: MutationCreateUserFamilyArgs = { data: { diff --git a/tests/resolvers/Mutation/removeUserFamily.spec.ts b/tests/resolvers/Mutation/removeUserFamily.spec.ts index 26407cef7d9..1e3e6fa812c 100644 --- a/tests/resolvers/Mutation/removeUserFamily.spec.ts +++ b/tests/resolvers/Mutation/removeUserFamily.spec.ts @@ -25,7 +25,6 @@ import { type TestUserType, } from "../../helpers/userAndUserFamily"; import type { TestUserFamilyType } from "../../helpers/userAndUserFamily"; -import { User } from "../../../src/models"; let MONGOOSE_INSTANCE: typeof mongoose; let testUsers: TestUserType[]; @@ -43,30 +42,6 @@ beforeAll(async () => { creator: tempUser1, users: [tempUser1, tempUser2], }); - - await User.updateOne( - { - _id: testUsers[0]?._id, - }, - { - $set: { - createdUserFamily: [testUserFamily._id], - adminForUserFamily: [testUserFamily._id], - joinedUserFamily: [testUserFamily._id], - }, - } - ); - - await User.updateOne( - { - _id: testUsers[1]?._id, - }, - { - $set: { - joinedUserFamily: [testUserFamily._id], - }, - } - ); }); afterAll(async () => {