Larastan: Add @property

pull/6333/head
Your Name 1 day ago
parent 82a82ec3e7
commit 4b14819923

@ -5,6 +5,14 @@ namespace App;
use Illuminate\Database\Eloquent\Model;
use App\{Status, StatusHashtag, Media};
/**
* @property int $id
* @property string $slug
* @property int|null $media_id
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \App\Media|null $media
*/
class DiscoverCategory extends Model
{
protected $fillable = ['slug'];

@ -5,6 +5,19 @@ namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Profile;
/**
* @property int $id
* @property int $follower_id
* @property int $following_id
* @property array|null $activity
* @property \Illuminate\Support\Carbon|null $handled_at
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \App\Profile $target
* @property-read \App\Profile $actor
* @property-read \App\Profile $follower
* @property-read \App\Profile $following
*/
class FollowRequest extends Model
{
protected $fillable = ['follower_id', 'following_id', 'activity', 'handled_at'];

@ -5,6 +5,17 @@ namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Profile;
/**
* @property int $id
* @property int $profile_id
* @property int $following_id
* @property bool|null $local_profile
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \App\Profile $actor
* @property-read \App\Profile $target
* @property-read \App\Profile $profile
*/
class Follower extends Model
{

@ -6,6 +6,20 @@ use App\Profile;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @property int $id
* @property string $domain
* @property int $profile_id
* @property string|null $profile_url
* @property string|null $note
* @property bool $is_banned
* @property bool $is_nsfw
* @property bool $is_unlisted
* @property bool $is_noautolink
* @property bool $is_nodms
* @property bool $is_notrending
* @property \Illuminate\Support\Carbon $created_at
*/
class AdminModeratedProfileResource extends JsonResource
{
/**

@ -4,6 +4,17 @@ namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @property int $id
* @property string $name
* @property string $slug
* @property bool|null $can_trend
* @property bool|null $can_search
* @property bool $is_nsfw
* @property bool $is_banned
* @property int|null $cached_count
* @property \Illuminate\Support\Carbon $created_at
*/
class AdminHashtag extends JsonResource
{
/**

@ -4,6 +4,22 @@ namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @property int $id
* @property string $domain
* @property string|null $software
* @property bool $unlisted
* @property bool $auto_cw
* @property bool $banned
* @property int|null $user_count
* @property int|null $status_count
* @property \Illuminate\Support\Carbon|null $last_crawled_at
* @property string|null $notes
* @property string|null $base_domain
* @property bool|null $ban_subdomains
* @property \Illuminate\Support\Carbon|null $actors_last_synced_at
* @property \Illuminate\Support\Carbon $created_at
*/
class AdminInstance extends JsonResource
{
/**

@ -6,6 +6,14 @@ use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Services\AccountService;
/**
* @property int $id
* @property string|null $domain
* @property string|null $status
* @property bool $cw
* @property bool $unlisted
* @property bool $no_autolink
*/
class AdminProfile extends JsonResource
{
/**

@ -8,6 +8,16 @@ use App\Instance;
use App\Services\AccountService;
use App\Services\StatusService;
/**
* @property int $id
* @property string $uri
* @property int $account_id
* @property array|null $status_ids
* @property string|null $comment
* @property array|null $report_meta
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $action_taken_at
*/
class AdminRemoteReport extends JsonResource
{
/**

@ -8,6 +8,17 @@ use App\Story;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @property int $id
* @property int $profile_id
* @property string|null $type
* @property int $object_id
* @property string $object_type
* @property int $reported_profile_id
* @property string|null $message
* @property \Illuminate\Support\Carbon|null $admin_seen
* @property \Illuminate\Support\Carbon $created_at
*/
class AdminReport extends JsonResource
{
/**

@ -7,6 +7,14 @@ use Illuminate\Http\Resources\Json\JsonResource;
use App\Services\AccountService;
use App\Services\StatusService;
/**
* @property int $id
* @property string $type
* @property int|null $item_id
* @property string|null $item_type
* @property \Illuminate\Support\Carbon|null $read_at
* @property \Illuminate\Support\Carbon $created_at
*/
class AdminSpamReport extends JsonResource
{
/**

@ -5,6 +5,21 @@ namespace App\Http\Resources;
use App\Services\AccountService;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @property int $id
* @property int $profile_id
* @property string|null $name
* @property string $username
* @property bool $is_admin
* @property string $email
* @property \Illuminate\Support\Carbon|null $email_verified_at
* @property bool $2fa_enabled
* @property string|null $register_source
* @property string|null $app_register_ip
* @property bool $has_interstitial
* @property \Illuminate\Support\Carbon|null $last_active_at
* @property \Illuminate\Support\Carbon $created_at
*/
class AdminUser extends JsonResource
{
/**

@ -6,6 +6,11 @@ use Illuminate\Http\Resources\Json\JsonResource;
use Cache;
use App\Services\AccountService;
/**
* @property int $id
* @property string|null $name
* @property string $username
*/
class DirectoryProfile extends JsonResource
{
/**

@ -6,6 +6,9 @@ use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Services\StatusService;
/**
* @property int $status_id
*/
class ImportStatus extends JsonResource
{
/**

@ -5,6 +5,15 @@ namespace App\Http\Resources\MastoApi\Admin;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @property int $id
* @property string $domain
* @property bool $banned
* @property bool $unlisted
* @property \Illuminate\Support\Carbon $updated_at
* @property array|null $notes
* @property string|null $limit_reason
*/
class DomainBlockResource extends JsonResource
{
/**

@ -7,6 +7,9 @@ use Illuminate\Http\JsonResponse;
use Cache;
use App\Services\HashtagService;
/**
* @property int $hashtag_id
*/
class FollowedTagResource extends JsonResource
{
/**

@ -6,6 +6,10 @@ use App\Services\AccountService;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @property int $profile_id
* @property \Illuminate\Support\Carbon $created_at
*/
class StoryView extends JsonResource
{
/**

@ -5,6 +5,11 @@ namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @property int $profile_id
* @property \Illuminate\Support\Carbon $updated_at
* @property array|null $common
*/
class UserAppSettingsResource extends JsonResource
{

@ -9,6 +9,19 @@ use App\Profile;
use App\Services\GroupService;
use Illuminate\Database\Eloquent\SoftDeletes;
/**
* @property int $id
* @property int $profile_id
* @property string|null $name
* @property bool $is_private
* @property bool $local
* @property string|null $remote_url
* @property array|null $metadata
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at
* @property-read bool $is_local
*/
class Group extends Model
{
use HasSnowflakePrimary, HasFactory, SoftDeletes;

@ -8,6 +8,20 @@ use Illuminate\Database\Eloquent\SoftDeletes;
use App\User;
use App\Services\AccountService;
/**
* @property int $id
* @property int $parent_id
* @property int $child_id
* @property array|null $permissions
* @property string|null $verify_code
* @property \Illuminate\Support\Carbon|null $email_sent_at
* @property \Illuminate\Support\Carbon|null $email_verified_at
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at
* @property-read \App\User $parent
* @property-read \App\User $child
*/
class ParentalControls extends Model
{
use HasFactory, SoftDeletes;

@ -10,6 +10,25 @@ use App\Services\FollowerService;
use App\Models\ProfileAlias;
use App\Avatar;
/**
* @property int $id
* @property int|null $user_id
* @property string $username
* @property string|null $name
* @property string|null $domain
* @property string|null $remote_url
* @property bool $is_private
* @property int $status_count
* @property int $following_count
* @property int $followers_count
* @property \Illuminate\Support\Carbon|null $last_fetched_at
* @property \Illuminate\Support\Carbon|null $last_status_at
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at
* @property-read \App\User|null $user
* @property-read \App\Avatar $avatar
*/
class Profile extends Model
{
use HasSnowflakePrimary, SoftDeletes;

@ -0,0 +1,71 @@
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPrivateMethodRector;
use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPromotedPropertyRector;
use Rector\DeadCode\Rector\Property\RemoveUnusedPrivatePropertyRector;
use Rector\DeadCode\Rector\Assign\RemoveUnusedVariableAssignRector;
use Rector\DeadCode\Rector\If_\RemoveDeadInstanceOfRector;
use Rector\DeadCode\Rector\StmtsAwareInterface\RemoveJustPropertyFetchForAssignRector;
use Rector\DeadCode\Rector\Stmt\RemoveUnreachableStatementRector;
use Rector\DeadCode\Rector\ClassMethod\RemoveUselessParamTagRector;
use Rector\DeadCode\Rector\ClassMethod\RemoveUselessReturnTagRector;
use Rector\DeadCode\Rector\Node\RemoveNonExistingVarAnnotationRector;
use Rector\DeadCode\Rector\Concat\RemoveConcatAutocastRector;
use Rector\DeadCode\Rector\Return_\RemoveDeadConditionAboveReturnRector;
use Rector\DeadCode\Rector\For_\RemoveDeadLoopRector;
use Rector\DeadCode\Rector\Foreach_\RemoveUnusedForeachKeyRector;
use Rector\DeadCode\Rector\TryCatch\RemoveDeadTryCatchRector;
use Rector\DeadCode\Rector\Cast\RecastingRemovalRector;
use Rector\DeadCode\Rector\Expression\RemoveDeadStmtRector;
use Rector\DeadCode\Rector\If_\RemoveAlwaysTrueIfConditionRector;
use Rector\DeadCode\Rector\If_\SimplifyIfElseWithSameContentRector;
use Rector\DeadCode\Rector\Switch_\RemoveDuplicatedCaseInSwitchRector;
return RectorConfig::configure()
->withPaths([
__DIR__ . '/app',
__DIR__ . '/bootstrap',
__DIR__ . '/config',
__DIR__ . '/public',
__DIR__ . '/resources',
__DIR__ . '/routes',
__DIR__ . '/tests',
])
->withRules([
// UNUSED PRIVATE METHODS & PROPERTIES
RemoveUnusedPrivateMethodRector::class, // Remove unused private methods
// RemoveUnusedPrivatePropertyRector::class, // Remove unused private properties
/// RemoveUnusedPromotedPropertyRector::class, // Remove unused promoted properties (PHP 8.0+)
// UNUSED VARIABLES & ASSIGNMENTS
// RemoveUnusedVariableAssignRector::class, // Remove unused variable assignments
// RemoveJustPropertyFetchForAssignRector::class, // Remove property fetch that's only assigned but never used
/// RemoveUnusedForeachKeyRector::class, // Remove unused foreach keys
// UNREACHABLE & DEAD CODE
// RemoveUnreachableStatementRector::class, // Remove unreachable statements after return/throw
/// RemoveDeadStmtRector::class, // Remove dead statements
/// RemoveDeadInstanceOfRector::class, // Remove dead instanceof checks
/// RemoveDeadConditionAboveReturnRector::class, // Remove dead conditions above return
/// RemoveDeadLoopRector::class, // Remove loops that never execute
/// RemoveDeadTryCatchRector::class, // Remove try-catch that never catches
// USELESS ANNOTATIONS
// RemoveUselessParamTagRector::class, // Remove useless @param tags
/// RemoveUselessReturnTagRector::class, // Remove useless @return tags
/// RemoveNonExistingVarAnnotationRector::class, // Remove @var for non-existing variables
// SIMPLIFY CONDITIONS
/// RemoveAlwaysTrueIfConditionRector::class, // Remove always-true if conditions
/// SimplifyIfElseWithSameContentRector::class, // Simplify if-else with same content
/// RemoveDuplicatedCaseInSwitchRector::class, // Remove duplicated switch cases
// UNNECESSARY OPERATIONS
/// RemoveConcatAutocastRector::class, // Remove unnecessary string concatenation autocasts
/// RecastingRemovalRector::class, // Remove unnecessary type recasting
]);
Loading…
Cancel
Save