Skip to content

Commit

Permalink
feature: Add notice message type
Browse files Browse the repository at this point in the history
  • Loading branch information
seheon99 committed May 29, 2024
1 parent c516f6c commit 4e1e8f0
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export type { Link } from './link';
export { MatchingStatus } from './matching';
export type { Matching, MatchingRoom, MatchingUser } from './matching';

export type { Message, TextMessage, ImageMessage } from './message';
export type { Message, TextMessage, ImageMessage, NoticeMessage } from './message';

export type { PolicyType, PolicyAgreement, Policy } from './policy';

Expand Down
16 changes: 14 additions & 2 deletions src/types/message.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,31 @@ import { User } from '.';

export interface Message {
id: number;
userId: User['id'];
messageType: 'TEXT' | 'IMAGE';
messageType: 'TEXT' | 'IMAGE' | 'NOTICE';
createdAt: string;
userId?: User['id'];
content?: string;
imageUrl?: string;
notice?: string;
}

export interface TextMessage extends Message {
messageType: 'TEXT';
content: string;
imageUrl: undefined;
notice: undefined;
}

export interface ImageMessage extends Message {
messageType: 'IMAGE';
content: undefined;
imageUrl: string;
notice: undefined;
}

export interface NoticeMessage extends Message {
messageType: 'NOTICE';
content: undefined;
imageUrl: undefined;
notice: string;
}
1 change: 1 addition & 0 deletions src/utilities/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
export { checkSignUpStep } from './check-sign-up-step';
export { fitFetch, fitFetcher } from './fetch';
export { isTextMessage, isImageMessage, isNoticeMessage } from './message';
export { getStorageUrl } from './storage';
export { getTokens, setTokens } from './session';
export { isUserStudent, isUserWorker } from './user';
6 changes: 5 additions & 1 deletion src/utilities/message.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ImageMessage, Message, TextMessage } from '#/types';
import { ImageMessage, Message, NoticeMessage, TextMessage } from '#/types';

export function isTextMessage(message: Message): message is TextMessage {
return message.messageType === 'TEXT';
Expand All @@ -7,3 +7,7 @@ export function isTextMessage(message: Message): message is TextMessage {
export function isImageMessage(message: Message): message is ImageMessage {
return message.messageType === 'IMAGE';
}

export function isNoticeMessage(message: Message): message is NoticeMessage {
return message.messageType === 'NOTICE';
}

0 comments on commit 4e1e8f0

Please sign in to comment.