From c0ffc4dd09e9f2bbc0e0b67b19112e7e5afbaf55 Mon Sep 17 00:00:00 2001 From: Oleksandr Chabaniuk Date: Fri, 29 Nov 2024 11:26:02 +0200 Subject: [PATCH 1/3] Updated user_search param name & updated error status for `Unauthorized` --- APIs/JSON/validations/users_schema_validation.js | 2 +- app/constants/errors.js | 2 +- app/providers/operations/user/search/index.js | 3 +-- docs/API.md | 2 +- test/conversations.js | 6 +++--- test/status_typing.js | 2 +- test/users.js | 4 ++-- 7 files changed, 10 insertions(+), 11 deletions(-) diff --git a/APIs/JSON/validations/users_schema_validation.js b/APIs/JSON/validations/users_schema_validation.js index aaefc8df..e54f1069 100644 --- a/APIs/JSON/validations/users_schema_validation.js +++ b/APIs/JSON/validations/users_schema_validation.js @@ -70,7 +70,7 @@ export const usersSchemaValidation = { logout: Joi.object({}).required(), delete: Joi.object({}).required(), search: Joi.object({ - login: Joi.string().required(), + keyword: Joi.string().required(), limit: Joi.number().min(1).max(100), updated_at: Joi.object({ gt: Joi.date(), diff --git a/app/constants/errors.js b/app/constants/errors.js index 8d4a8cd6..99464abc 100644 --- a/app/constants/errors.js +++ b/app/constants/errors.js @@ -1,6 +1,6 @@ export const ERROR_STATUES = { // Default --> - UNAUTHORIZED: { status: 404, message: "Unauthorized." }, + UNAUTHORIZED: { status: 401, message: "Unauthorized." }, FORBIDDEN: { status: 403, message: "Forbidden." }, BAD_REQUEST: { status: 400, message: "Bad Request." }, INVALID_DATA_FORMAT: { diff --git a/app/providers/operations/user/search/index.js b/app/providers/operations/user/search/index.js index 573eafb9..44bfa85e 100644 --- a/app/providers/operations/user/search/index.js +++ b/app/providers/operations/user/search/index.js @@ -1,5 +1,4 @@ import { CONSTANTS as MAIN_CONSTANTS } from "../../../../constants/constants.js" -import { slice } from "@sama/utils/req_res_utils.js" class UserSearchOperation { constructor(sessionService, userService) { @@ -17,7 +16,7 @@ class UserSearchOperation { : searchParams.limit || MAIN_CONSTANTS.LIMIT_MAX const users = await this.userService.userRepo.search( - { match: searchParams.login, ignoreIds, timeFromUpdate: searchParams.updated_at?.gt }, + { match: searchParams.keyword, ignoreIds, timeFromUpdate: searchParams.updated_at?.gt }, limit ) diff --git a/docs/API.md b/docs/API.md index 88c3a469..833b11ee 100644 --- a/docs/API.md +++ b/docs/API.md @@ -135,7 +135,7 @@ Later, the subsequent logins can be done via `token`: { request: { user_search: { - login: "sam", + keyword: "sam", limit: 100, updated_at: { gt: timestamp_in_ms, diff --git a/test/conversations.js b/test/conversations.js index c60a9bb6..a272d50f 100644 --- a/test/conversations.js +++ b/test/conversations.js @@ -70,7 +70,7 @@ describe("Conversation functions", async () => { assert.strictEqual(responseData.response.conversation, undefined) assert.deepEqual(responseData.response.error, { - status: 404, + status: 401, message: "Unauthorized.", }) }) @@ -91,7 +91,7 @@ describe("Conversation functions", async () => { assert.strictEqual(responseData.response.success, undefined) assert.deepEqual(responseData.response.error, { - status: 404, + status: 401, message: "Unauthorized.", }) }) @@ -112,7 +112,7 @@ describe("Conversation functions", async () => { assert.strictEqual(responseData.response.success, undefined) assert.deepEqual(responseData.response.error, { - status: 404, + status: 401, message: "Unauthorized.", }) }) diff --git a/test/status_typing.js b/test/status_typing.js index b134f0d7..0215a834 100644 --- a/test/status_typing.js +++ b/test/status_typing.js @@ -35,7 +35,7 @@ describe(`Sending 'typing' status`, async () => { assert.strictEqual(responseData.typing.user, undefined) assert.deepEqual(responseData.typing.error, { - status: 404, + status: 401, message: "Unauthorized.", }) diff --git a/test/users.js b/test/users.js index 5d8381d0..c65b1fa8 100644 --- a/test/users.js +++ b/test/users.js @@ -604,7 +604,7 @@ describe("User cycle", async () => { assert.strictEqual(requestData.request.id, responseData.response.id) assert.strictEqual(responseData.response.success, undefined) assert.deepEqual(responseData.response.error, { - status: 404, + status: 401, message: "Unauthorized.", }) }) @@ -626,7 +626,7 @@ describe("User cycle", async () => { assert.strictEqual(requestData.request.id, responseData.response.id) assert.strictEqual(responseData.response.success, undefined) assert.deepEqual(responseData.response.error, { - status: 404, + status: 401, message: "Unauthorized.", }) From e5de8574dbf757c70c9c7e87e244df1472420c2a Mon Sep 17 00:00:00 2001 From: Oleksandr Chabaniuk Date: Tue, 10 Dec 2024 15:00:27 +0200 Subject: [PATCH 2/3] added logs --- app/providers/services/conversation/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/providers/services/conversation/index.js b/app/providers/services/conversation/index.js index 07c80598..e41db044 100644 --- a/app/providers/services/conversation/index.js +++ b/app/providers/services/conversation/index.js @@ -111,9 +111,11 @@ class ConversationService { } async updateParticipants(conversation, addParticipants, removeParticipants, currentParticipantIds) { + console.log("1", currentParticipantIds) if (!currentParticipantIds) { currentParticipantIds = await this.findConversationParticipants(conversation._id) } + console.log("2", currentParticipantIds) const addedIds = await this.addParticipants(conversation, addParticipants, currentParticipantIds) @@ -140,8 +142,10 @@ class ConversationService { (pId) => !currentParticipantIds.find((currentPId) => this.helpers.isEqualsNativeIds(currentPId, pId)) ) + console.log("3", participantIds) const participantsCount = participantIds.length + currentParticipantIds.length + console.log("3participantsCount", participantsCount, participantIds.length, currentParticipantIds.length) if (participantsCount > this.CONVERSATION_MAX_PARTICIPANTS) { throw new Error(ERROR_STATUES.PARTICIPANTS_LIMIT.message, { cause: ERROR_STATUES.PARTICIPANTS_LIMIT, From 4c7e5cd5780430f1c29c47d6cd90d30131d01c5f Mon Sep 17 00:00:00 2001 From: Oleksandr Chabaniuk Date: Tue, 10 Dec 2024 16:40:24 +0200 Subject: [PATCH 3/3] removed logs --- app/providers/services/conversation/index.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/providers/services/conversation/index.js b/app/providers/services/conversation/index.js index e41db044..07c80598 100644 --- a/app/providers/services/conversation/index.js +++ b/app/providers/services/conversation/index.js @@ -111,11 +111,9 @@ class ConversationService { } async updateParticipants(conversation, addParticipants, removeParticipants, currentParticipantIds) { - console.log("1", currentParticipantIds) if (!currentParticipantIds) { currentParticipantIds = await this.findConversationParticipants(conversation._id) } - console.log("2", currentParticipantIds) const addedIds = await this.addParticipants(conversation, addParticipants, currentParticipantIds) @@ -142,10 +140,8 @@ class ConversationService { (pId) => !currentParticipantIds.find((currentPId) => this.helpers.isEqualsNativeIds(currentPId, pId)) ) - console.log("3", participantIds) const participantsCount = participantIds.length + currentParticipantIds.length - console.log("3participantsCount", participantsCount, participantIds.length, currentParticipantIds.length) if (participantsCount > this.CONVERSATION_MAX_PARTICIPANTS) { throw new Error(ERROR_STATUES.PARTICIPANTS_LIMIT.message, { cause: ERROR_STATUES.PARTICIPANTS_LIMIT,