Skip to content

Commit

Permalink
fix: 내 사용자 정보 업데이트할 때 imageUuid는 nullable
Browse files Browse the repository at this point in the history
  • Loading branch information
potados99 committed Feb 28, 2022
1 parent cd4134d commit 606c557
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 18 deletions.
7 changes: 6 additions & 1 deletion src/entity/schemes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,15 @@ export const UserResponseScheme = {
imageUrl: z.string().optional().nullable(),
}

export const SubscriptionSchema = {
export const SubscriptionScheme = {
subscribing: z.boolean()
}

export const TopicsScheme = {
topics: z.array(z.string())
}

export const UpdateMeRequestScheme = {
nickname: z.string(),
imageUuid: z.string().optional().nullable()
};
4 changes: 2 additions & 2 deletions src/server/routes/subscription/getSubscription.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import {defineSchema} from '../../libs/schema';
import {defineRoute} from '../../libs/route';
import {authorizer} from '../../middleware/authorizer';
import SubscriptionService from '../../../service/SubscriptionService';
import {SubscriptionSchema} from '../../../entity/schemes';
import {SubscriptionScheme} from '../../../entity/schemes';

const schema = defineSchema({
summary: '새 행사 구독 여부 가져오기',
description: '새 글 알림이 켜져있는지 아니면 꺼져있는지 여부를 가져옵니다.',

response: SubscriptionSchema
response: SubscriptionScheme
});

export default defineRoute('get', '/subscription/subscribing', schema, authorizer(), async (req, res) => {
Expand Down
4 changes: 2 additions & 2 deletions src/server/routes/subscription/updateSubscription.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import {defineSchema} from '../../libs/schema';
import {defineRoute} from '../../libs/route';
import {authorizer} from '../../middleware/authorizer';
import SubscriptionService from '../../../service/SubscriptionService';
import {SubscriptionSchema} from '../../../entity/schemes';
import {SubscriptionScheme} from '../../../entity/schemes';

const schema = defineSchema({
summary: '새 행사 구독 여부 설정하기',
description: '새 글 알림 켜짐/꺼짐 여부를 설정합니다.',

body: SubscriptionSchema
body: SubscriptionScheme
});

export default defineRoute('put', '/subscription/subscribing', schema, authorizer(), async (req, res) => {
Expand Down
7 changes: 2 additions & 5 deletions src/server/routes/users/updateMe.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
import {z} from 'zod';
import UserService from '../../../service/UserService';
import {authorizer} from '../../middleware/authorizer';
import {defineRoute} from '../../libs/route';
import {defineSchema} from '../../libs/schema';
import {partialSchemeOf, UpdateMeRequestScheme} from '../../../entity/schemes';

const schema = defineSchema({
summary: '내 정보 업데이트하기',
description: '내 정보를 업데이트합니다.',

body: {
nickname: z.string().optional(),
imageUuid: z.string().optional()
},
body: partialSchemeOf(UpdateMeRequestScheme),
});

export default defineRoute('patch', '/me', schema, authorizer(), async (req, res) => {
Expand Down
4 changes: 2 additions & 2 deletions src/service/SubscriptionService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import User from '../entity/User';
import {Infer} from '../common/utils/zod';
import FcmService from './FcmService';
import Event from '../entity/Event';
import {SubscriptionSchema, TopicsScheme} from '../entity/schemes';
import {SubscriptionScheme, TopicsScheme} from '../entity/schemes';
import {log} from '../common/utils/log';

class SubscriptionService {
async getSubscription(userId: number): Promise<Infer<typeof SubscriptionSchema>> {
async getSubscription(userId: number): Promise<Infer<typeof SubscriptionScheme>> {
const user = await User.findOneOrFail(userId);

return {
Expand Down
9 changes: 3 additions & 6 deletions src/service/UserService.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
import User from '../entity/User';

type ModifyUserParams = {
nickname: string;
imageUuid: string
};
import {Infer} from '../common/utils/zod';
import {UpdateMeRequestScheme} from '../entity/schemes';

class UserService {
async getUser(id: number): Promise<User> {
return await User.findOneOrFail({where: {id}});
}

async patchUser(id: number, body: Partial<ModifyUserParams>): Promise<string> {
async patchUser(id: number, body: Partial<Infer<typeof UpdateMeRequestScheme>>): Promise<string> {
const patchuser = await User.update(
{id},
body
Expand Down

0 comments on commit 606c557

Please sign in to comment.