diff --git a/transformers/UserTransformer.tsx b/transformers/UserTransformer.tsx new file mode 100644 index 00000000..225b1aa1 --- /dev/null +++ b/transformers/UserTransformer.tsx @@ -0,0 +1,26 @@ +// Transforms API response to User object +export function toObject(data: any): User { + return { + id: data.id, + username: data.username, + avatar: { + picture: data.avatar.picture, + element: data.avatar.element, + }, + gender: data.gender, + language: data.language, + theme: data.theme, + } as User +} + +// Transforms User object into API parameters +export function toParams(data: User): UserParams { + return { + username: data.username, + picture: data.avatar.picture, + element: data.avatar.element, + language: data.language, + gender: data.gender, + theme: data.theme, + } +} diff --git a/types/User.d.ts b/types/User.d.ts index b79e76f2..e80c561c 100644 --- a/types/User.d.ts +++ b/types/User.d.ts @@ -7,4 +7,6 @@ interface User { element: string } gender: number + language: string + theme: string } diff --git a/types/UserParams.d.ts b/types/UserParams.d.ts new file mode 100644 index 00000000..e7c92d57 --- /dev/null +++ b/types/UserParams.d.ts @@ -0,0 +1,8 @@ +interface UserParams { + username?: string + picture?: string + element?: string + language?: string + gender?: number + theme?: string +}