From 63ac1c11ddeeebb44e1f4195a9e4f605b422930c Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Sat, 24 Aug 2019 10:22:26 +0800 Subject: [PATCH] Revert --- app/Http/Controllers/AdminController.php | 22 +-- app/Http/Controllers/AuthController.php | 12 +- app/Http/Controllers/ClosetController.php | 4 +- app/Http/Controllers/ReportController.php | 4 +- app/Http/Controllers/SkinlibController.php | 4 +- app/Http/Controllers/TextureController.php | 2 +- app/Http/Controllers/UserController.php | 2 +- app/Models/User.php | 162 ---------------- tests/Concerns/User.php | 21 -- tests/ModelsTest/UserTest.php | 211 --------------------- 10 files changed, 25 insertions(+), 419 deletions(-) delete mode 100644 tests/Concerns/User.php diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index d6f23342..0742caa9 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -45,7 +45,7 @@ class AdminController extends Controller }; }; - $userRegistration = $users->where('register_at', '>=', $oneMonthAgo) + $userRegistration = User::where('register_at', '>=', $oneMonthAgo) ->select('register_at') ->get() ->groupBy($grouping('register_at')) @@ -84,16 +84,16 @@ class AdminController extends Controller switch ($data['receiver']) { case 'all': - $users = $users->all(); + $users = User::all(); break; case 'normal': - $users = $users->where('permission', User::NORMAL)->get(); + $users = User::where('permission', User::NORMAL)->get(); break; case 'uid': - $users = $users->where('uid', $data['uid'])->get(); + $users = User::where('uid', $data['uid'])->get(); break; case 'email': - $users = $users->where('email', $data['email'])->get(); + $users = User::where('email', $data['email'])->get(); break; } Notification::send($users, $notification); @@ -366,7 +366,7 @@ class AdminController extends Controller $isSingleUser = $request->has('uid'); if ($isSingleUser) { - $users = $users->select(['uid', 'email', 'nickname', 'score', 'permission', 'register_at', 'verified']) + $users = User::select(['uid', 'email', 'nickname', 'score', 'permission', 'register_at', 'verified']) ->where('uid', intval($request->input('uid'))) ->get(); } else { @@ -376,7 +376,7 @@ class AdminController extends Controller $page = $request->input('page', 1); $perPage = $request->input('perPage', 10); - $users = $users->select(['uid', 'email', 'nickname', 'score', 'permission', 'register_at', 'verified']) + $users = User::select(['uid', 'email', 'nickname', 'score', 'permission', 'register_at', 'verified']) ->where('uid', 'like', '%'.$search.'%') ->orWhere('email', 'like', '%'.$search.'%') ->orWhere('nickname', 'like', '%'.$search.'%') @@ -395,7 +395,7 @@ class AdminController extends Controller }); return [ - 'totalRecords' => $isSingleUser ? 1 : $users->count(), + 'totalRecords' => $isSingleUser ? 1 : User::count(), 'data' => $users, ]; } @@ -434,7 +434,7 @@ class AdminController extends Controller public function userAjaxHandler(Request $request, User $users) { $action = $request->input('action'); - $user = $users->find($request->uid); + $user = User::find($request->uid); $currentUser = Auth::user(); if (! $user) { @@ -450,7 +450,7 @@ class AdminController extends Controller 'email' => 'required|email', ]); - if ($users->where('email', $request->email)->count() != 0) { + if (User::where('email', $request->email)->count() != 0) { return json(trans('admin.users.operations.email.existed', ['email' => $request->input('email')]), 1); } @@ -548,7 +548,7 @@ class AdminController extends Controller 'uid' => 'required|integer', ]); - $user = $users->find($request->uid); + $user = User::find($request->uid); if (! $user) { return json(trans('admin.users.operations.non-existent'), 1); diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 40f41bef..bd40385f 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -33,7 +33,7 @@ class AuthController extends Controller event(new Events\UserTryToLogin($identification, $authType)); if ($authType == 'email') { - $user = $users->where('email', $identification)->first(); + $user = User::where('email', $identification)->first(); } else { $player = Player::where('name', $identification)->first(); $user = $player ? $player->user : null; @@ -124,7 +124,7 @@ class AuthController extends Controller // If amount of registered accounts of IP is more than allowed amounts, // then reject the register. - if ($users->where('ip', get_client_ip())->count() >= option('regs_per_ip')) { + if (User::where('ip', get_client_ip())->count() >= option('regs_per_ip')) { return json(trans('auth.register.max', ['regs' => option('regs_per_ip')]), 7); } @@ -192,7 +192,7 @@ class AuthController extends Controller return json(trans('auth.forgot.frequent-mail'), 2); } - $user = $users->where('email', $request->email)->first(); + $user = User::where('email', $request->email)->first(); if (! $user) { return json(trans('auth.forgot.unregistered'), 1); @@ -215,7 +215,7 @@ class AuthController extends Controller public function reset(User $users, $uid) { - return view('auth.reset')->with('user', $users->find($uid)); + return view('auth.reset')->with('user', User::find($uid)); } public function handleReset(Request $request, User $users, $uid) @@ -224,7 +224,7 @@ class AuthController extends Controller 'password' => 'required|min:8|max:32', ]); - $users->find($uid)->changePassword($validated['password']); + User::find($uid)->changePassword($validated['password']); return json(trans('auth.reset.success'), 0); } @@ -245,7 +245,7 @@ class AuthController extends Controller throw new PrettyPageException(trans('user.verification.disabled'), 1); } - $user = $users->find($uid); + $user = User::find($uid); if (! $user || $user->verified) { throw new PrettyPageException(trans('auth.verify.invalid'), 1); diff --git a/app/Http/Controllers/ClosetController.php b/app/Http/Controllers/ClosetController.php index ab89de2c..ec9029c2 100644 --- a/app/Http/Controllers/ClosetController.php +++ b/app/Http/Controllers/ClosetController.php @@ -97,7 +97,7 @@ class ClosetController extends Controller $texture->likes++; $texture->save(); - $uploader = $users->find($texture->uploader); + $uploader = User::find($texture->uploader); if ($uploader && $uploader->uid != $user->uid) { $uploader->score += option('score_award_per_like', 0); $uploader->save(); @@ -139,7 +139,7 @@ class ClosetController extends Controller $texture->likes--; $texture->save(); - $uploader = $users->find($texture->uploader); + $uploader = User::find($texture->uploader); $uploader->score -= option('score_award_per_like', 0); $uploader->save(); diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index cacb3a97..f3a2fbbe 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -64,7 +64,7 @@ class ReportController extends Controller ->get() ->makeHidden(['informer']) ->map(function ($report) use ($users) { - $uploader = $users->find($report->uploader); + $uploader = User::find($report->uploader); if ($uploader) { $report->uploaderName = $uploader->nickname; } @@ -119,7 +119,7 @@ class ReportController extends Controller } break; case 'ban': - $uploader = $users->find($report->uploader); + $uploader = User::find($report->uploader); if (! $uploader) { return json(trans('admin.users.operations.non-existent'), 1); } diff --git a/app/Http/Controllers/SkinlibController.php b/app/Http/Controllers/SkinlibController.php index 84bdca10..3b9aec48 100644 --- a/app/Http/Controllers/SkinlibController.php +++ b/app/Http/Controllers/SkinlibController.php @@ -147,7 +147,7 @@ class SkinlibController extends Controller 'currentUid' => $user ? $user->uid : 0, 'admin' => $user && $user->isAdmin(), 'inCloset' => $user && $user->closet()->where('tid', $texture->tid)->count() > 0, - 'nickname' => ($up = $users->find($texture->uploader)) ? $up->nickname : null, + 'nickname' => ($up = User::find($texture->uploader)) ? $up->nickname : null, 'report' => intval(option('reporter_score_modification', 0)), ]); } @@ -277,7 +277,7 @@ class SkinlibController extends Controller return json(trans('skinlib.no-permission'), 1); } - $uploader = $users->find($t->uploader); + $uploader = User::find($t->uploader); $score_diff = $t->size * (option('private_score_per_storage') - option('score_per_storage')) * ($t->public ? -1 : 1); if ($t->public && option('take_back_scores_after_deletion', true)) { $score_diff -= option('score_award_per_texture', 0); diff --git a/app/Http/Controllers/TextureController.php b/app/Http/Controllers/TextureController.php index e2e7cac0..7bcc80b8 100644 --- a/app/Http/Controllers/TextureController.php +++ b/app/Http/Controllers/TextureController.php @@ -130,7 +130,7 @@ class TextureController extends Controller public function avatar(User $users, $base64_email, $size = 128) { - $user = $users->where('email', base64_decode($base64_email))->first(); + $user = User::where('email', base64_decode($base64_email))->first(); if ($user) { return $this->avatarByTid($user->avatar, $size); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 0cee09a2..30791436 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -253,7 +253,7 @@ class UserController extends Controller 'password' => 'required|min:6|max:32', ]); - if ($users->where('email', $request->new_email)->count() > 0) { + if (User::where('email', $request->new_email)->count() > 0) { return json(trans('user.profile.email.existed'), 1); } diff --git a/app/Models/User.php b/app/Models/User.php index 5fc24484..17a3ad16 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -35,63 +35,6 @@ class User extends Authenticatable implements JWTSubject protected $hidden = ['password', 'remember_token']; - protected static $mappings = []; - - protected static function boot() - { - parent::boot(); - - $columns = [ - 'uid', - 'email', - 'nickname', - 'score', - 'avatar', - 'password', - 'ip', - 'permission', - 'last_sign_at', - 'register_at', - 'verified', - ]; - array_walk($columns, function ($column) { - static::$mappings[$column] = Arr::get(static::$mappings, $column, $column); - }); - - static::addGlobalScope(function (Builder $builder) { - $query = $builder->getQuery(); - - $mapItem = function ($item) { - if (Arr::has(static::$mappings, $item['column'])) { - $item['column'] = static::$mappings[$item['column']]; - } - - return $item; - }; - $mapColumn = function ($column) { - return Arr::get(static::$mappings, $column, $column); - }; - - $query->wheres = array_map($mapItem, $query->wheres); - if ($query->columns) { - $query->columns = array_map($mapColumn, $query->columns); - } - if ($query->orders) { - $query->orders = array_map($mapItem, $query->orders); - } - if ($query->groups) { - $query->groups = array_map($mapColumn, $query->groups); - } - if ($query->havings) { - $query->havings = array_map($mapItem, $query->havings); - } - - $builder->setQuery($query); - - return $builder; - }); - } - public function isAdmin() { return $this->permission >= static::ADMIN; @@ -102,111 +45,6 @@ class User extends Authenticatable implements JWTSubject return $this->belongsToMany(Texture::class, 'user_closet')->withPivot('item_name'); } - public function getUidAttribute() - { - return intval($this->attributes[$this->primaryKey]); - } - - public function getEmailAttribute() - { - return $this->attributes[static::$mappings['email']]; - } - - public function setEmailAttribute($value) - { - $this->attributes[static::$mappings['email']] = $value; - } - - public function getNicknameAttribute() - { - return $this->attributes[static::$mappings['nickname']]; - } - - public function setNicknameAttribute($value) - { - $this->attributes[static::$mappings['nickname']] = $value; - } - - public function getScoreAttribute() - { - return intval($this->attributes[static::$mappings['score']]); - } - - public function setScoreAttribute($value) - { - $this->attributes[static::$mappings['score']] = $value; - } - - public function getAvatarAttribute() - { - return intval($this->attributes[static::$mappings['avatar']]); - } - - public function setAvatarAttribute($value) - { - $this->attributes[static::$mappings['avatar']] = $value; - } - - public function getPasswordAttribute() - { - return $this->attributes[static::$mappings['password']]; - } - - public function setPasswordAttribute($value) - { - $this->attributes[static::$mappings['password']] = $value; - } - - public function getIpAttribute() - { - return $this->attributes[static::$mappings['ip']]; - } - - public function setIpAttribute($value) - { - $this->attributes[static::$mappings['ip']] = $value; - } - - public function getPermissionAttribute() - { - return intval($this->attributes[static::$mappings['permission']]); - } - - public function setPermissionAttribute($value) - { - $this->attributes[static::$mappings['permission']] = $value; - } - - public function getLastSignAtAttribute() - { - return $this->attributes[static::$mappings['last_sign_at']]; - } - - public function setLastSignAtAttribute($value) - { - $this->attributes[static::$mappings['last_sign_at']] = $value; - } - - public function getRegisterAtAttribute() - { - return $this->attributes[static::$mappings['register_at']]; - } - - public function setRegisterAtAttribute($value) - { - $this->attributes[static::$mappings['register_at']] = $value; - } - - public function getVerifiedAttribute() - { - return boolval($this->attributes[static::$mappings['verified']]); - } - - public function setVerifiedAttribute($value) - { - $this->attributes[static::$mappings['verified']] = $value; - } - public function getPlayerNameAttribute() { $player = $this->players->first(); diff --git a/tests/Concerns/User.php b/tests/Concerns/User.php deleted file mode 100644 index e84c07ee..00000000 --- a/tests/Concerns/User.php +++ /dev/null @@ -1,21 +0,0 @@ - 'bs_email', - 'nickname' => 'bs_nickname', - 'score' => 'bs_score', - 'avatar' => 'bs_avatar', - 'password' => 'bs_password', - 'ip' => 'bs_ip', - 'permission' => 'bs_permission', - 'last_sign_at' => 'bs_last_sign_at', - 'register_at' => 'bs_register_at', - 'verified' => 'bs_verified', - ]; -} diff --git a/tests/ModelsTest/UserTest.php b/tests/ModelsTest/UserTest.php index 8b99071b..7d0e5429 100644 --- a/tests/ModelsTest/UserTest.php +++ b/tests/ModelsTest/UserTest.php @@ -6,7 +6,6 @@ use Schema; use Carbon\Carbon; use App\Models\User; use App\Models\Player; -use Tests\Concerns\User as ExtendedUser; use Illuminate\Database\Schema\Blueprint; use Illuminate\Foundation\Testing\DatabaseTransactions; @@ -14,216 +13,6 @@ class UserTest extends TestCase { use DatabaseTransactions; - public function testConvertQuery() - { - if (config('database.default') == 'mysql') { - $this->assertStringContainsString( - 'where `bs_email`', - ExtendedUser::where('email', '')->toSql() - ); - $this->assertStringContainsString( - 'select `bs_email` from', - ExtendedUser::select(['email'])->toSql() - ); - $this->assertStringContainsString( - 'order by `bs_score`', - ExtendedUser::orderBy('score')->toSql() - ); - $this->assertStringContainsString( - 'group by `bs_permission`', - ExtendedUser::groupBy('permission')->toSql() - ); - $this->assertStringContainsString( - 'having `bs_permission`', - ExtendedUser::having('permission')->toSql() - ); - } else { - $this->assertStringContainsString( - 'where "bs_email"', - ExtendedUser::where('email', '')->toSql() - ); - $this->assertStringContainsString( - 'select "bs_email" from', - ExtendedUser::select(['email'])->toSql() - ); - $this->assertStringContainsString( - 'order by "bs_score"', - ExtendedUser::orderBy('score')->toSql() - ); - $this->assertStringContainsString( - 'group by "bs_permission"', - ExtendedUser::groupBy('permission')->toSql() - ); - $this->assertStringContainsString( - 'having "bs_permission"', - ExtendedUser::having('permission')->toSql() - ); - } - } - - public function testGetUidAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('uid', 'bs_uid'); - }); - $users = get_class(new class extends User { - protected $primaryKey = 'bs_uid'; - - protected $table = 'users'; - - protected static $mappings = ['uid' => 'bs_uid']; - }); - $user = $users::first(); - $this->assertEquals($user->getAttribute('bs_uid'), $user->uid); - } - - public function testEmailAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('email', 'bs_email'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_email'), $user->email); - - $user->email = 'a@b.c'; - $user->save(); - $this->assertDatabaseHas('users', ['bs_email' => 'a@b.c']); - } - - public function testNicknameAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('nickname', 'bs_nickname'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_nickname'), $user->nickname); - - $user->nickname = 'name'; - $user->save(); - $this->assertDatabaseHas('users', ['bs_nickname' => 'name']); - } - - public function testScoreAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('score', 'bs_score'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_score'), $user->score); - - $user->score = 50; - $user->save(); - $this->assertDatabaseHas('users', ['bs_score' => 50]); - } - - public function testAvatarAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('avatar', 'bs_avatar'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_avatar'), $user->avatar); - - $user->avatar = 5; - $user->save(); - $this->assertDatabaseHas('users', ['bs_avatar' => 5]); - } - - public function testPasswordAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('password', 'bs_password'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_password'), $user->password); - - $user->password = '123'; - $user->save(); - $this->assertDatabaseHas('users', ['bs_password' => '123']); - } - - public function testIpAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('ip', 'bs_ip'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_ip'), $user->ip); - - $user->ip = '255.255.255.255'; - $user->save(); - $this->assertDatabaseHas('users', ['bs_ip' => '255.255.255.255']); - } - - public function testPermissionAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('permission', 'bs_permission'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_permission'), $user->permission); - - $user->permission = 1; - $user->save(); - $this->assertDatabaseHas('users', ['bs_permission' => 1]); - } - - public function testLastSignAtAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('last_sign_at', 'bs_last_sign_at'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_last_sign_at'), $user->last_sign_at); - - $time = Carbon::now()->toDateTimeString(); - $user->last_sign_at = $time; - $user->save(); - $this->assertDatabaseHas('users', ['bs_last_sign_at' => $time]); - } - - public function testRegisterAtAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('register_at', 'bs_register_at'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_register_at'), $user->register_at); - - $time = Carbon::now()->toDateTimeString(); - $user->register_at = $time; - $user->save(); - $this->assertDatabaseHas('users', ['bs_register_at' => $time]); - } - - public function testVerifiedAttribute() - { - factory(User::class)->create(); - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('verified', 'bs_verified'); - }); - $user = ExtendedUser::first(); - $this->assertEquals($user->getAttribute('bs_verified'), $user->verified); - - $user->verified = 0; - $user->save(); - $this->assertDatabaseHas('users', ['bs_verified' => 0]); - - Schema::table('users', function (Blueprint $table) { - $table->renameColumn('bs_verified', 'verified'); - }); - } - public function testGetPlayerNameAttribute() { $user = factory(User::class)->create();