Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
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
6 changes: 6 additions & 0 deletions .changeset/migrate-users-getUsernameSuggestion-to-AJV.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/rest-typings': minor
'@rocket.chat/meteor': minor
---

Migrate users.getUsernameSuggestion endpoint to make it openAPI and AJV compatible
39 changes: 27 additions & 12 deletions apps/meteor/app/api/server/v1/users.ts
Original file line number Diff line number Diff line change
Expand Up @@ -878,6 +878,33 @@ const usersEndpoints = API.v1

return API.v1.success({ suggestions });
},
)
.get(
'users.getUsernameSuggestion',
{
authRequired: true,
userWithoutUsername: true,
response: {
200: ajv.compile({
type: 'object',
properties: {
result: { type: 'string' },
success: {
type: 'boolean',
enum: [true],
},
},
required: ['result', 'success'],
additionalProperties: false,
}),
401: validateUnauthorizedErrorResponse,
},
},
async function action() {
const result = await generateUsernameSuggestion(this.user);

return API.v1.success({ result });
},
);

API.v1.addRoute(
Expand Down Expand Up @@ -921,18 +948,6 @@ API.v1.addRoute(
},
);

API.v1.addRoute(
'users.getUsernameSuggestion',
{ authRequired: true, userWithoutUsername: true },
{
async get() {
const result = await generateUsernameSuggestion(this.user);

return API.v1.success({ result });
},
},
);

API.v1.addRoute(
'users.checkUsernameAvailability',
{
Expand Down
6 changes: 0 additions & 6 deletions packages/rest-typings/src/v1/users.ts
Original file line number Diff line number Diff line change
Expand Up @@ -249,12 +249,6 @@ export type UsersEndpoints = {
};
};

'/v1/users.getUsernameSuggestion': {
GET: () => {
result: string;
};
};

'/v1/users.checkUsernameAvailability': {
Comment thread
cubic-dev-ai[bot] marked this conversation as resolved.
Resolved
GET: (params: { username: string }) => {
result: boolean;
Expand Down