frontend: modify createMoodEntry params to conform with API contract
Pedro Lucas Porcellis porcellis@eletrotupi.com · 5 months ago
4808ab95c87b9684077fe589ac47e6884c8fa551 Browse filesParents
d3859d7Changed files
2
Additions
+10
Deletions
-6
frontend/lib/api/client.ts
1 1
import * as SecureStore from 'expo-secure-store';
2 2
import {
3 3
User,
4 4
AuthResponse,
5 5
VerifyTokenResponse,
150 150
method: 'DELETE'
151 151
});
152 152
}
153 153
154 154
// Mood-related
155 -
async createMoodEntry(mood: MoodEntryPayload): Promise<MoodEntryResponse> {
155 +
async createMoodEntry(mood: CreateMoodEntryPayload): Promise<MoodEntryResponse> {
156 156
return await this.request(`/moods`, {
157 157
method: 'POST',
158 -
body: JSON.stringify({ mood: moodEntry })
158 +
body: JSON.stringify({ mood })
159 159
})
160 160
}
161 161
}
162 162
163 163
export const apiClient = new ApiClient();
frontend/lib/api/types.ts
1 1
export interface User {
2 2
id: number;
3 3
email: string;
4 4
firstName: string;
5 5
lastName?: string;
50 50
export interface MoodComponentPayload {
51 51
component: string;
52 52
intensity: string;
53 53
};
54 54
55 -
export interface MoodEntryPayload {
55 +
export interface CreateMoodEntryPayload {
56 56
annotation: string;
57 57
moment: Date;
58 58
selectedMood: string;
59 59
anxietyLevel: number;
60 60
energyLevel: number;
61 61
stressLevel: number;
62 62
moodComponents: MoodComponentPayload[]
63 63
};
64 64
65 -
export interface MoodComponentResponse {
65 +
export interface MoodComponent {
66 66
id: number;
67 67
component: string;
68 68
intensity: string;
69 +
createdAt: Date;
70 +
updatedAt: Date;
69 71
}
70 72
71 -
export interface MoodEntryResponse {
73 +
export interface MoodEntry {
72 74
id: number;
73 75
annotation: string;
74 76
moment: Date;
75 77
selectedMood: string;
76 78
anxietyLevel: number;
77 79
energyLevel: number;
78 80
stressLevel: number;
79 -
moodComponents: MoodComponentResponse[];
81 +
moodComponents: MoodComponent[];
82 +
createdAt: Date;
83 +
updatedAt: Date;
80 84
}
81 85
82 86
// Generic stuff
83 87
export interface PaginatedResponse<T> {
84 88
entries: T[];
85 89
total: number;
86 90
page: number;
87 91
nextPage: number | null;
88 92
};