From 92654fabdc623986dcfad1891fbb50917869f89e Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 4 Feb 2020 21:04:58 -0700 Subject: [PATCH] Update Story apis, move FE to v0 and add v1 for oauth clients --- resources/assets/js/components/PostComponent.vue | 1 + resources/assets/js/components/Profile.vue | 2 +- resources/assets/js/components/StoryCompose.vue | 6 +++--- .../assets/js/components/StoryTimelineComponent.vue | 4 ++-- resources/assets/js/components/StoryViewer.vue | 2 +- resources/assets/js/components/Timeline.vue | 2 +- routes/api.php | 8 ++++++++ routes/web.php | 12 ++++++------ 8 files changed, 23 insertions(+), 14 deletions(-) diff --git a/resources/assets/js/components/PostComponent.vue b/resources/assets/js/components/PostComponent.vue index 2ed8b6db0..ef7b7fafe 100644 --- a/resources/assets/js/components/PostComponent.vue +++ b/resources/assets/js/components/PostComponent.vue @@ -680,6 +680,7 @@ export default { let self = this; self.status = response.data.status; self.user = response.data.user; + window._sharedData.curUser = self.user; self.media = self.status.media_attachments; self.reactions = response.data.reactions; self.likes = response.data.likes; diff --git a/resources/assets/js/components/Profile.vue b/resources/assets/js/components/Profile.vue index 8ad489d16..ccf194c21 100644 --- a/resources/assets/js/components/Profile.vue +++ b/resources/assets/js/components/Profile.vue @@ -642,7 +642,7 @@ axios.get('/api/pixelfed/v1/accounts/verify_credentials').then(res => { this.user = res.data; if(res.data.id == this.profileId || this.relationship.following == true) { - axios.get('/api/stories/v1/exists/' + this.profileId) + axios.get('/api/stories/v0/exists/' + this.profileId) .then(res => { this.hasStory = res.data == true; }) diff --git a/resources/assets/js/components/StoryCompose.vue b/resources/assets/js/components/StoryCompose.vue index 7d9ca47f8..84ac8072c 100644 --- a/resources/assets/js/components/StoryCompose.vue +++ b/resources/assets/js/components/StoryCompose.vue @@ -177,7 +177,7 @@ mounted() { this.mediaWatcher(); - axios.get('/api/stories/v1/fetch/' + this.profileId) + axios.get('/api/stories/v0/fetch/' + this.profileId) .then(res => this.stories = res.data); }, @@ -226,7 +226,7 @@ } }; - axios.post('/api/stories/v1/add', form, xhrConfig) + axios.post('/api/stories/v0/add', form, xhrConfig) .then(function(e) { self.uploadProgress = 100; self.uploading = false; @@ -264,7 +264,7 @@ return; } - axios.delete('/api/stories/v1/delete/' + story.id) + axios.delete('/api/stories/v0/delete/' + story.id) .then(res => { this.stories.splice(index, 1); if(this.stories.length == 0) { diff --git a/resources/assets/js/components/StoryTimelineComponent.vue b/resources/assets/js/components/StoryTimelineComponent.vue index bba284f04..bcc318bea 100644 --- a/resources/assets/js/components/StoryTimelineComponent.vue +++ b/resources/assets/js/components/StoryTimelineComponent.vue @@ -30,7 +30,7 @@ methods: { fetchStories() { - axios.get('/api/stories/v1/recent') + axios.get('/api/stories/v0/recent') .then(res => { let data = res.data; let stories = new Zuck('storyContainer', { @@ -57,7 +57,7 @@ }); data.forEach(d => { - let url = '/api/stories/v1/fetch/' + d.pid; + let url = '/api/stories/v0/fetch/' + d.pid; axios.get(url) .then(res => { res.data.forEach(item => { diff --git a/resources/assets/js/components/StoryViewer.vue b/resources/assets/js/components/StoryViewer.vue index 3bc1f8143..98361ed4f 100644 --- a/resources/assets/js/components/StoryViewer.vue +++ b/resources/assets/js/components/StoryViewer.vue @@ -36,7 +36,7 @@ methods: { fetchStories() { - axios.get('/api/stories/v1/profile/' + this.pid) + axios.get('/api/stories/v0/profile/' + this.pid) .then(res => { let data = res.data; if(data.length == 0) { diff --git a/resources/assets/js/components/Timeline.vue b/resources/assets/js/components/Timeline.vue index 3134d2924..1ca5066fb 100644 --- a/resources/assets/js/components/Timeline.vue +++ b/resources/assets/js/components/Timeline.vue @@ -1424,7 +1424,7 @@ }, hasStory() { - axios.get('/api/stories/v1/exists/'+this.profile.id) + axios.get('/api/stories/v0/exists/'+this.profile.id) .then(res => { this.userStory = res.data; }) diff --git a/routes/api.php b/routes/api.php index 944d7cafe..6fa5d04ab 100644 --- a/routes/api.php +++ b/routes/api.php @@ -67,4 +67,12 @@ Route::group(['prefix' => 'api'], function() use($middleware) { Route::get('timelines/public', 'Api\ApiV1Controller@timelinePublic'); Route::get('timelines/tag/{hashtag}', 'Api\ApiV1Controller@timelineHashtag')->middleware($middleware); }); + Route::group(['prefix' => 'stories'], function () { + Route::get('v1/recent', 'StoryController@apiV1Recent'); + Route::post('v1/add', 'StoryController@apiV1Add')->middleware('throttle:maxStoriesPerDay,1440'); + Route::get('v1/fetch/{id}', 'StoryController@apiV1Fetch'); + Route::get('v1/profile/{id}', 'StoryController@apiV1Profile'); + Route::get('v1/exists/{id}', 'StoryController@apiV1Exists'); + Route::delete('v1/delete/{id}', 'StoryController@apiV1Delete')->middleware('throttle:maxStoryDeletePerDay,1440'); + }); }); diff --git a/routes/web.php b/routes/web.php index b4c75426f..78cacf10f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -179,12 +179,12 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact Route::post('moderate', 'Api\AdminApiController@moderate'); }); Route::group(['prefix' => 'stories'], function () { - Route::get('v1/recent', 'StoryController@apiV1Recent'); - Route::post('v1/add', 'StoryController@apiV1Add')->middleware('throttle:maxStoriesPerDay,1440'); - Route::get('v1/fetch/{id}', 'StoryController@apiV1Fetch'); - Route::get('v1/profile/{id}', 'StoryController@apiV1Profile'); - Route::get('v1/exists/{id}', 'StoryController@apiV1Exists'); - Route::delete('v1/delete/{id}', 'StoryController@apiV1Delete')->middleware('throttle:maxStoryDeletePerDay,1440'); + Route::get('v0/recent', 'StoryController@apiV1Recent'); + Route::post('v0/add', 'StoryController@apiV1Add')->middleware('throttle:maxStoriesPerDay,1440'); + Route::get('v0/fetch/{id}', 'StoryController@apiV1Fetch'); + Route::get('v0/profile/{id}', 'StoryController@apiV1Profile'); + Route::get('v0/exists/{id}', 'StoryController@apiV1Exists'); + Route::delete('v0/delete/{id}', 'StoryController@apiV1Delete')->middleware('throttle:maxStoryDeletePerDay,1440'); }); });