@@ -109,58 +109,92 @@ def edit_user(body):
109
109
return jsonify ({"error" : "Unsupported request method !" }), 405
110
110
111
111
112
- @app .route ("/resume/experience" , methods = ["GET" , "POST" ])
112
+ @app .route ("/resume/experience" , methods = ["GET" , "POST" , 'PUT' ])
113
113
def experience ():
114
114
"""
115
115
Handle experience requests
116
116
"""
117
-
118
- if request .method == "GET" :
117
+ if request .method == 'GET' :
119
118
return jsonify (
120
119
{"experience" : [exp .__dict__ for exp in data ["experience" ]]})
121
120
122
121
if request .method == "POST" :
123
122
new_experience = request .json
123
+ new_exp = new_experience ["data" ][0 ]
124
124
experience_instance = Experience (
125
- new_experience ["title" ],
126
- new_experience ["company" ],
127
- new_experience ["start_date" ],
128
- new_experience ["end_date" ],
129
- new_experience ["description" ],
130
- new_experience ["logo" ],
125
+ new_exp ["title" ],
126
+ new_exp ["company" ],
127
+ new_exp ["start_date" ],
128
+ new_exp ["end_date" ],
129
+ new_exp ["description" ],
130
+ new_exp ["logo" ],
131
131
)
132
132
data ["experience" ].append (experience_instance )
133
133
return jsonify ({"id" : len (data ["experience" ]) - 1 })
134
134
135
- return jsonify ({})
135
+ if request .method == 'PUT' :
136
+ body = request .get_json ()
137
+ new_experience_order = []
138
+ for exp in body ['data' ]:
139
+ title = exp ['title' ]
140
+ company = exp ['company' ]
141
+ start_date = exp ['start_date' ]
142
+ end_date = exp ['end_date' ]
143
+ description = exp ['description' ]
144
+ logo = exp ['logo' ]
145
+
146
+ new_experience_order .append (
147
+ Experience (title , company , start_date , end_date , description , logo )
148
+ )
149
+ data ['experience' ] = new_experience_order
150
+
151
+ return_data = [item .__dict__ for item in data ['experience' ]]
152
+ return jsonify (return_data ), 200
136
153
154
+ return jsonify ({"error" : "Unsupported request method !" }), 405
137
155
138
- @app .route (" /resume/education" , methods = [" GET" , " POST" ])
156
+ @app .route (' /resume/education' , methods = [' GET' , ' POST' , 'PUT' ])
139
157
def education ():
140
158
"""
141
159
Handles education requests
142
160
"""
143
- if request .method == " GET" :
161
+ if request .method == ' GET' :
144
162
return jsonify (
145
163
{"education" : [edu .__dict__ for edu in data ["education" ]]})
146
164
147
165
if request .method == "POST" :
148
166
new_education = request .json
167
+ new_edu = new_education ["data" ][0 ]
149
168
education_instance = Education (
150
- new_education ["course" ],
151
- new_education ["school" ],
152
- new_education ["start_date" ],
153
- new_education ["end_date" ],
154
- new_education ["grade" ],
155
- new_education ["logo" ],
169
+ new_edu ["course" ],
170
+ new_edu ["school" ],
171
+ new_edu ["start_date" ],
172
+ new_edu ["end_date" ],
173
+ new_edu ["grade" ],
174
+ new_edu ["logo" ],
156
175
)
157
176
data ["education" ].append (education_instance )
158
177
return jsonify ({"id" : len (data ["education" ]) - 1 })
159
178
179
+ if request .method == 'PUT' :
180
+ body = request .get_json ()
181
+ new_education_order = []
182
+ for edu in body ['data' ]:
183
+ course = edu ['course' ]
184
+ school = edu ['school' ]
185
+ start_date = edu ['start_date' ]
186
+ end_date = edu ['end_date' ]
187
+ grade = edu ['grade' ]
188
+ logo = edu ['logo' ]
189
+ new_education_order .append (Education (course , school , start_date , end_date , grade , logo ))
190
+ data ['education' ] = new_education_order
191
+
192
+ return_data = [item .__dict__ for item in data ['education' ]]
193
+ return jsonify (return_data ), 200
160
194
return jsonify ({})
161
195
162
196
163
- @app .route ("/resume/skill" , methods = ["GET" , "POST" ])
197
+ @app .route ("/resume/skill" , methods = ["GET" , "POST" , 'PUT' ])
164
198
def skill ():
165
199
"""
166
200
Handles Skill requests
@@ -171,12 +205,28 @@ def skill():
171
205
172
206
if request .method == "POST" :
173
207
new_skill = request .json
208
+ skill_data = new_skill ["data" ][0 ]
174
209
skill_instance = Skill (
175
- new_skill ["name" ], new_skill ["proficiency" ], new_skill ["logo" ]
210
+ skill_data ["name" ],
211
+ skill_data ["proficiency" ],
212
+ skill_data ["logo" ]
176
213
)
177
214
data ["skill" ].append (skill_instance )
178
215
return jsonify ({"id" : len (data ["skill" ]) - 1 })
179
216
217
+ if request .method == 'PUT' :
218
+ body = request .get_json ()
219
+ new_skill_order = []
220
+ for _skill in body ['data' ]:
221
+ name = _skill ['name' ]
222
+ proficiency = _skill ['proficiency' ]
223
+ logo = _skill ['logo' ]
224
+ new_skill_order .append (Skill (name , proficiency , logo ))
225
+ data ['skill' ] = new_skill_order
226
+
227
+ return_data = [item .__dict__ for item in data ['skill' ]]
228
+ return jsonify (return_data ), 200
229
+
180
230
return jsonify ({})
181
231
182
232
0 commit comments