Skip to content

Commit ed83490

Browse files
authored
CUR-4054-create save token api (#1313)
1 parent 978f0b5 commit ed83490

File tree

3 files changed

+77
-0
lines changed

3 files changed

+77
-0
lines changed

app/Http/Controllers/Api/V1/MicroSoftTeamController.php

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Illuminate\Support\Facades\Http;
1616
use App\Http\Requests\V1\MSTeamCreateClassRequest;
1717
use App\Http\Requests\V1\MSTeamCreateAssignmentRequest;
18+
use App\Http\Requests\V1\MSSaveAccessTokenRequest;
1819
use App\Models\Playlist;
1920
use App\Models\Project;
2021
use App\Models\Activity;
@@ -107,6 +108,51 @@ public function getAccessToken(Request $request)
107108
}
108109

109110
}
111+
112+
/**
113+
* Save Access Token
114+
*
115+
* Save GraphAPI access token in the database.
116+
*
117+
* @bodyParam access_token string required The stringified of the GraphAPI access token JSON object
118+
*
119+
* @response {
120+
* "message": "Access token has been saved successfully."
121+
* }
122+
*
123+
* @response 500 {
124+
* "errors": [
125+
* "Validation error: Access token is required"
126+
* ]
127+
* }
128+
*
129+
* @response 500 {
130+
* "errors": [
131+
* "Failed to save the token."
132+
* ]
133+
* }
134+
*
135+
* @param MSSaveAccessTokenRequest $accessTokenRequest
136+
* @return Response
137+
*/
138+
public function saveAccessToken(MSSaveAccessTokenRequest $accessTokenRequest)
139+
{
140+
$data = $accessTokenRequest->validated();
141+
$authUser = auth()->user();
142+
$isUpdated = $this->userRepository->update([
143+
'msteam_access_token' => $data['access_token']
144+
], $authUser->id);
145+
146+
if ($isUpdated) {
147+
return response([
148+
'message' => 'Access token has been saved successfully.',
149+
], 200);
150+
}
151+
152+
return response([
153+
'errors' => ['Failed to save the token.'],
154+
], 500);
155+
}
110156

111157
/**
112158
* Get List of Classes
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace App\Http\Requests\V1;
4+
5+
use Illuminate\Foundation\Http\FormRequest;
6+
7+
class MSSaveAccessTokenRequest extends FormRequest
8+
{
9+
/**
10+
* Determine if the user is authorized to make this request.
11+
*
12+
* @return bool
13+
*/
14+
public function authorize()
15+
{
16+
return true;
17+
}
18+
19+
/**
20+
* Get the validation rules that apply to the request.
21+
*
22+
* @return array
23+
*/
24+
public function rules()
25+
{
26+
return [
27+
'access_token' => 'required'
28+
];
29+
}
30+
}

routes/api.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@
325325

326326
// Microsoft Team Share
327327
Route::group(['prefix' => 'microsoft-team'], function () {
328+
Route::post('save-access-token', 'MicroSoftTeamController@saveAccessToken');
328329
Route::get('classes', 'MicroSoftTeamController@getClasses');
329330
Route::post('classes', 'MicroSoftTeamController@createMsTeamClass');
330331
Route::post('classes/assignments', 'MicroSoftTeamController@createMsTeamAssignment');

0 commit comments

Comments
 (0)