mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-10 08:44:49 +00:00
commit
d036b032c9
7 changed files with 108 additions and 22 deletions
|
@ -81,6 +81,8 @@
|
||||||
- Update PronounService, fix json_decode null parameter ([d72cd819](https://github.com/pixelfed/pixelfed/commit/d72cd819))
|
- Update PronounService, fix json_decode null parameter ([d72cd819](https://github.com/pixelfed/pixelfed/commit/d72cd819))
|
||||||
- Update ApiV1Controller, normalize profile id comparison ([374bfdae](https://github.com/pixelfed/pixelfed/commit/374bfdae))
|
- Update ApiV1Controller, normalize profile id comparison ([374bfdae](https://github.com/pixelfed/pixelfed/commit/374bfdae))
|
||||||
- Update ApiV1Controller, fix pagination header. Fixes #3354 ([4fe07e6f](https://github.com/pixelfed/pixelfed/commit/4fe07e6f))
|
- Update ApiV1Controller, fix pagination header. Fixes #3354 ([4fe07e6f](https://github.com/pixelfed/pixelfed/commit/4fe07e6f))
|
||||||
|
- Update ApiV1Controller, add optional place_id parameter to POST /api/v1/statuses endpoint ([ef0d1f84](https://github.com/pixelfed/pixelfed/commit/ef0d1f84))
|
||||||
|
- Update SettingsController, fix double json encoding and cache settings for 7 days ([4514ab1d](https://github.com/pixelfed/pixelfed/commit/4514ab1d))
|
||||||
- ([](https://github.com/pixelfed/pixelfed/commit/))
|
- ([](https://github.com/pixelfed/pixelfed/commit/))
|
||||||
|
|
||||||
## [v0.11.3 (2022-05-09)](https://github.com/pixelfed/pixelfed/compare/v0.11.2...v0.11.3)
|
## [v0.11.3 (2022-05-09)](https://github.com/pixelfed/pixelfed/compare/v0.11.2...v0.11.3)
|
||||||
|
|
|
@ -2477,6 +2477,7 @@ class ApiV1Controller extends Controller
|
||||||
'sensitive' => 'nullable',
|
'sensitive' => 'nullable',
|
||||||
'visibility' => 'string|in:private,unlisted,public',
|
'visibility' => 'string|in:private,unlisted,public',
|
||||||
'spoiler_text' => 'sometimes|max:140',
|
'spoiler_text' => 'sometimes|max:140',
|
||||||
|
'place_id' => 'sometimes|integer|min:1|max:128769'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if(config('costar.enabled') == true) {
|
if(config('costar.enabled') == true) {
|
||||||
|
@ -2566,6 +2567,9 @@ class ApiV1Controller extends Controller
|
||||||
$status->scope = 'draft';
|
$status->scope = 'draft';
|
||||||
$status->is_nsfw = $cw;
|
$status->is_nsfw = $cw;
|
||||||
$status->cw_summary = $spoilerText;
|
$status->cw_summary = $spoilerText;
|
||||||
|
if($request->has('place_id')) {
|
||||||
|
$status->place_id = $request->input('place_id');
|
||||||
|
}
|
||||||
$status->save();
|
$status->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,8 @@ use App\Status;
|
||||||
use App\Report;
|
use App\Report;
|
||||||
use App\Profile;
|
use App\Profile;
|
||||||
use App\Services\AccountService;
|
use App\Services\AccountService;
|
||||||
|
use App\Services\StatusService;
|
||||||
|
use App\Services\ProfileStatusService;
|
||||||
|
|
||||||
class ApiV1Dot1Controller extends Controller
|
class ApiV1Dot1Controller extends Controller
|
||||||
{
|
{
|
||||||
|
@ -166,4 +168,40 @@ class ApiV1Dot1Controller extends Controller
|
||||||
|
|
||||||
return AccountService::get($user->profile_id);
|
return AccountService::get($user->profile_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GET /api/v1.1/accounts/{id}/posts
|
||||||
|
*
|
||||||
|
* @return \App\Transformer\Api\StatusTransformer
|
||||||
|
*/
|
||||||
|
public function accountPosts(Request $request, $id)
|
||||||
|
{
|
||||||
|
$user = $request->user();
|
||||||
|
|
||||||
|
abort_if(!$user, 403);
|
||||||
|
abort_if($user->status != null, 403);
|
||||||
|
|
||||||
|
$account = AccountService::get($id);
|
||||||
|
|
||||||
|
if(!$account || $account['username'] !== $request->input('username')) {
|
||||||
|
return $this->json([]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$posts = ProfileStatusService::get($id);
|
||||||
|
|
||||||
|
if(!$posts) {
|
||||||
|
return $this->json([]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = collect($posts)
|
||||||
|
->map(function($id) {
|
||||||
|
return StatusService::get($id);
|
||||||
|
})
|
||||||
|
->filter(function($post) {
|
||||||
|
return $post && isset($post['account']);
|
||||||
|
})
|
||||||
|
->toArray();
|
||||||
|
|
||||||
|
return $this->json($res);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -303,7 +303,7 @@ class SettingsController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if($changed) {
|
if($changed) {
|
||||||
$setting->compose_settings = json_encode($compose);
|
$setting->compose_settings = $compose;
|
||||||
$setting->save();
|
$setting->save();
|
||||||
Cache::forget('profile:compose:settings:' . $request->user()->id);
|
Cache::forget('profile:compose:settings:' . $request->user()->id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,6 +74,7 @@ class AccountService
|
||||||
|
|
||||||
public static function settings($id)
|
public static function settings($id)
|
||||||
{
|
{
|
||||||
|
return Cache::remember('profile:compose:settings:' . $id, 604800, function() use($id) {
|
||||||
$settings = UserSetting::whereUserId($id)->first();
|
$settings = UserSetting::whereUserId($id)->first();
|
||||||
if(!$settings) {
|
if(!$settings) {
|
||||||
return self::defaultSettings();
|
return self::defaultSettings();
|
||||||
|
@ -96,6 +97,7 @@ class AccountService
|
||||||
}
|
}
|
||||||
return $item;
|
return $item;
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function canEmbed($id)
|
public static function canEmbed($id)
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use App\UserSetting;
|
||||||
|
|
||||||
|
class FixDoubleJsonEncodedSettingsInUsersettingsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
UserSetting::whereNotNull('compose_settings')
|
||||||
|
->chunk(50, function($settings) {
|
||||||
|
foreach($settings as $userSetting) {
|
||||||
|
if(is_array($userSetting->compose_settings)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$userSetting->compose_settings = json_decode($userSetting->compose_settings);
|
||||||
|
$userSetting->save();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -100,6 +100,7 @@ Route::group(['prefix' => 'api'], function() use($middleware) {
|
||||||
Route::group(['prefix' => 'v1.1'], function() use($middleware) {
|
Route::group(['prefix' => 'v1.1'], function() use($middleware) {
|
||||||
Route::post('report', 'Api\ApiV1Dot1Controller@report')->middleware($middleware);
|
Route::post('report', 'Api\ApiV1Dot1Controller@report')->middleware($middleware);
|
||||||
Route::delete('accounts/avatar', 'Api\ApiV1Dot1Controller@deleteAvatar')->middleware($middleware);
|
Route::delete('accounts/avatar', 'Api\ApiV1Dot1Controller@deleteAvatar')->middleware($middleware);
|
||||||
|
Route::get('accounts/{id}/posts', 'Api\ApiV1Dot1Controller@accountPosts')->middleware($middleware);
|
||||||
|
|
||||||
Route::group(['prefix' => 'direct'], function () use($middleware) {
|
Route::group(['prefix' => 'direct'], function () use($middleware) {
|
||||||
Route::get('thread', 'DirectMessageController@thread')->middleware($middleware);
|
Route::get('thread', 'DirectMessageController@thread')->middleware($middleware);
|
||||||
|
@ -116,8 +117,9 @@ Route::group(['prefix' => 'api'], function() use($middleware) {
|
||||||
Route::get('recent', 'StoryController@recent')->middleware($middleware);
|
Route::get('recent', 'StoryController@recent')->middleware($middleware);
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::group(['prefix' => 'compose/v0'], function () use($middleware) {
|
Route::group(['prefix' => 'compose'], function () use($middleware) {
|
||||||
Route::get('/search/location', 'ComposeController@searchLocation')->middleware($middleware);
|
Route::get('search/location', 'ComposeController@searchLocation')->middleware($middleware);
|
||||||
|
Route::get('settings', 'ComposeController@composeSettings')->middleware($middleware);
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::group(['prefix' => 'discover'], function () use($middleware) {
|
Route::group(['prefix' => 'discover'], function () use($middleware) {
|
||||||
|
|
Loading…
Reference in a new issue