eletrotupi / tcc/ commit / 4808ab9

frontend: modify createMoodEntry params to conform with API contract

Pedro Lucas Porcellis porcellis@eletrotupi.com · 5 months ago 4808ab95c87b9684077fe589ac47e6884c8fa551 Browse files
Parents d3859d7
Changed 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
};