fix(api): send msUsername in get session user endpoint (#54050)

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
This commit is contained in:
Niraj Nandish
2024-03-28 21:44:31 +05:30
committed by GitHub
parent c333a74e77
commit f6ae52f6fe
3 changed files with 31 additions and 8 deletions

View File

@@ -499,7 +499,7 @@ describe('userRoutes', () => {
});
});
describe('user/get-user-session', () => {
describe('/user/get-user-session', () => {
beforeEach(async () => {
await fastifyTestInstance.prisma.user.updateMany({
where: { email: testUserData.email },
@@ -590,6 +590,21 @@ describe('userRoutes', () => {
expect(tokenData.id).toBe(userToken);
});
test('GET returns the msUsername if it exists', async () => {
await fastifyTestInstance.prisma.msUsername.create({
data: msUsernameData[0] as (typeof msUsernameData)[0]
});
const msUsernames = await fastifyTestInstance.prisma.msUsername.count();
expect(msUsernames).toBe(1);
const response = await superGet('/user/get-session-user');
const { msUsername } = response.body.user.foobar;
expect(msUsername).toBe(msUsernameData[0]?.msUsername);
});
test('GET returns a minimal user when all optional properties are missing', async () => {
// To get a minimal test user we first delete the existing one...
await fastifyTestInstance.prisma.user.deleteMany({

View File

@@ -510,11 +510,17 @@ export const userGetRoutes: FastifyPluginCallbackTypebox = (
where: { userId: req.user!.id }
});
const [userToken, user, completedSurveys] = await Promise.all([
userTokenP,
userP,
completedSurveysP
]);
const msUsernameP = fastify.prisma.msUsername.findFirst({
where: { userId: req.user?.id }
});
const [userToken, user, completedSurveys, msUsername] =
await Promise.all([
userTokenP,
userP,
completedSurveysP,
msUsernameP
]);
if (!user?.username) {
void res.code(500);
@@ -556,7 +562,8 @@ export const userGetRoutes: FastifyPluginCallbackTypebox = (
twitter: normalizeTwitter(twitter),
username: usernameDisplay || username,
userToken: encodedToken,
completedSurveys: normalizeSurveys(completedSurveys)
completedSurveys: normalizeSurveys(completedSurveys),
msUsername: msUsername?.msUsername
}
},
result: user.username

View File

@@ -451,7 +451,8 @@ export const schemas = {
})
)
})
)
),
msUsername: Type.Optional(Type.String())
})
),
result: Type.String()