瀏覽代碼

Use select for Recipient model

Will Browning 4 年之前
父節點
當前提交
9a83bf7c2a

+ 0 - 3
app/Http/Controllers/Api/AdditionalUsernameController.php

@@ -6,7 +6,6 @@ use App\Http\Controllers\Controller;
 use App\Http\Requests\StoreAdditionalUsernameRequest;
 use App\Http\Requests\UpdateAdditionalUsernameRequest;
 use App\Http\Resources\AdditionalUsernameResource;
-use App\Models\DeletedUsername;
 
 class AdditionalUsernameController extends Controller
 {
@@ -48,8 +47,6 @@ class AdditionalUsernameController extends Controller
     {
         $username = user()->additionalUsernames()->findOrFail($id);
 
-        DeletedUsername::create(['username' => $username->username]);
-
         $username->delete();
 
         return response('', 204);

+ 2 - 1
app/Rules/NotDeletedUsername.php

@@ -26,7 +26,8 @@ class NotDeletedUsername implements Rule
      */
     public function passes($attribute, $value)
     {
-        $deletedUsernames = DeletedUsername::all()
+        $deletedUsernames = DeletedUsername::select('username')
+            ->get()
             ->map(function ($item) {
                 return $item->username;
             })

+ 3 - 2
app/Rules/NotLocalRecipient.php

@@ -30,10 +30,11 @@ class NotLocalRecipient implements Rule
         $emailDomain = Str::afterLast($value, '@');
 
         // Make sure the recipient domain is not added as a verified custom domain
-        $customDomains = Domain::whereNotNull('domain_verified_at')->pluck('domain');
+        if (Domain::whereNotNull('domain_verified_at')->pluck('domain')->contains(strtolower($emailDomain))) {
+            return false;
+        }
 
         $count = collect(config('anonaddy.all_domains'))
-            ->concat($customDomains)
             ->filter(function ($domain) use ($emailDomain) {
                 return Str::endsWith(strtolower($emailDomain), $domain);
             })

+ 3 - 3
app/Rules/NotUsedAsRecipientDomain.php

@@ -28,10 +28,10 @@ class NotUsedAsRecipientDomain implements Rule
     public function passes($attribute, $value)
     {
         return ! Recipient::whereNotNull('email_verified_at')
+            ->select('email')
             ->get()
-            ->pluck('email')
-            ->map(function ($recipientEmail) {
-                return Str::afterLast($recipientEmail, '@');
+            ->map(function ($recipient) {
+                return Str::afterLast($recipient->email, '@');
             })
             ->unique()
             ->contains($value);

+ 1 - 0
app/Rules/RegisterUniqueRecipient.php

@@ -27,6 +27,7 @@ class RegisterUniqueRecipient implements Rule
     public function passes($attribute, $value)
     {
         $items = Recipient::whereNotNull('email_verified_at')
+            ->select('email')
             ->get()
             ->filter(function ($recipient) use ($value) {
                 if (($recipient->email) == strtolower($value)) {

+ 1 - 0
app/Rules/UniqueRecipient.php

@@ -30,6 +30,7 @@ class UniqueRecipient implements Rule
     {
         $items = Recipient::where('user_id', $this->user->id)
             ->orWhere('email_verified_at', '!=', null)
+            ->select('email')
             ->get()
             ->filter(function ($recipient) use ($value) {
                 if (($recipient->email) == strtolower($value)) {

+ 1 - 0
app/Rules/VerifiedRecipientId.php

@@ -29,6 +29,7 @@ class VerifiedRecipientId implements Rule
     {
         $verifiedRecipientIds = $this->user
             ->verifiedRecipients()
+            ->select('id')
             ->get()
             ->map(function ($recipient) {
                 return $recipient->id;

+ 2 - 2
config/version.yml

@@ -5,9 +5,9 @@ current:
   major: 0
   minor: 7
   patch: 0
-  prerelease: 3-g5bf9395
+  prerelease: 4-gcd70b89
   buildmetadata: ''
-  commit: 5bf939
+  commit: cd70b8
   timestamp:
     year: 2020
     month: 10

+ 24 - 24
package-lock.json

@@ -1273,9 +1273,9 @@
             }
         },
         "node_modules/@popperjs/core": {
-            "version": "2.7.0",
-            "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.7.0.tgz",
-            "integrity": "sha512-V3WyEc8ZyAuOQ2fpFuTuYYOd2tV4NePeSdxaHYgYAOs7ERLxlcFi2XsmgI5LJFdAUmJKXsg8jaIiVTkTHQygQw==",
+            "version": "2.7.2",
+            "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.7.2.tgz",
+            "integrity": "sha512-3LC1/M2ZFcmDrSkD1byT/hZzoPehZkDucbDShLnZ+/Gwkr6CAxiQ2kWy1UtJeLGADe58hTWkx22YEHqjPGUKzw==",
             "funding": {
                 "type": "opencollective",
                 "url": "https://opencollective.com/popperjs"
@@ -1936,9 +1936,9 @@
             "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
         },
         "node_modules/@types/node": {
-            "version": "14.14.28",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.28.tgz",
-            "integrity": "sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g=="
+            "version": "14.14.30",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.30.tgz",
+            "integrity": "sha512-gUWhy8s45fQp4PqqKecsnOkdW0kt1IaKjgOIR3HPokkzTmQj9ji2wWFID5THu1MKrtO+d4s2lVrlEhXUsPXSvg=="
         },
         "node_modules/@types/parse-glob": {
             "version": "3.0.29",
@@ -3193,9 +3193,9 @@
             }
         },
         "node_modules/caniuse-lite": {
-            "version": "1.0.30001187",
-            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001187.tgz",
-            "integrity": "sha512-w7/EP1JRZ9552CyrThUnay2RkZ1DXxKe/Q2swTC4+LElLh9RRYrL1Z+27LlakB8kzY0fSmHw9mc7XYDUKAKWMA=="
+            "version": "1.0.30001189",
+            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001189.tgz",
+            "integrity": "sha512-BSfxClP/UWCD0RX1h1L+vLDexNSJY7SfOtbJtW10bcnatfj3BcoietUFYNwWreOCk+SNvGUaNapGqUNPiGAiSA=="
         },
         "node_modules/chalk": {
             "version": "4.1.0",
@@ -4979,9 +4979,9 @@
             "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
         },
         "node_modules/electron-to-chromium": {
-            "version": "1.3.667",
-            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.667.tgz",
-            "integrity": "sha512-Ot1pPtAVb5nd7jeVF651zmfLFilRVFomlDzwXmdlWe5jyzOGa6mVsQ06XnAurT7wWfg5VEIY+LopbAdD/bpo5w=="
+            "version": "1.3.669",
+            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.669.tgz",
+            "integrity": "sha512-VNj10fmGC6SbE7s4tKG7y2OopVXYoTIfjE1MetflPd77KmeRuHtkl+HYsfF00BGg5hyaorTUn6lTToEHaciOSw=="
         },
         "node_modules/elliptic": {
             "version": "6.5.4",
@@ -15923,9 +15923,9 @@
             }
         },
         "@popperjs/core": {
-            "version": "2.7.0",
-            "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.7.0.tgz",
-            "integrity": "sha512-V3WyEc8ZyAuOQ2fpFuTuYYOd2tV4NePeSdxaHYgYAOs7ERLxlcFi2XsmgI5LJFdAUmJKXsg8jaIiVTkTHQygQw=="
+            "version": "2.7.2",
+            "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.7.2.tgz",
+            "integrity": "sha512-3LC1/M2ZFcmDrSkD1byT/hZzoPehZkDucbDShLnZ+/Gwkr6CAxiQ2kWy1UtJeLGADe58hTWkx22YEHqjPGUKzw=="
         },
         "@types/autoprefixer": {
             "version": "9.7.2",
@@ -16489,9 +16489,9 @@
             "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
         },
         "@types/node": {
-            "version": "14.14.28",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.28.tgz",
-            "integrity": "sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g=="
+            "version": "14.14.30",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.30.tgz",
+            "integrity": "sha512-gUWhy8s45fQp4PqqKecsnOkdW0kt1IaKjgOIR3HPokkzTmQj9ji2wWFID5THu1MKrtO+d4s2lVrlEhXUsPXSvg=="
         },
         "@types/parse-glob": {
             "version": "3.0.29",
@@ -17497,9 +17497,9 @@
             }
         },
         "caniuse-lite": {
-            "version": "1.0.30001187",
-            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001187.tgz",
-            "integrity": "sha512-w7/EP1JRZ9552CyrThUnay2RkZ1DXxKe/Q2swTC4+LElLh9RRYrL1Z+27LlakB8kzY0fSmHw9mc7XYDUKAKWMA=="
+            "version": "1.0.30001189",
+            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001189.tgz",
+            "integrity": "sha512-BSfxClP/UWCD0RX1h1L+vLDexNSJY7SfOtbJtW10bcnatfj3BcoietUFYNwWreOCk+SNvGUaNapGqUNPiGAiSA=="
         },
         "chalk": {
             "version": "4.1.0",
@@ -18912,9 +18912,9 @@
             "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
         },
         "electron-to-chromium": {
-            "version": "1.3.667",
-            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.667.tgz",
-            "integrity": "sha512-Ot1pPtAVb5nd7jeVF651zmfLFilRVFomlDzwXmdlWe5jyzOGa6mVsQ06XnAurT7wWfg5VEIY+LopbAdD/bpo5w=="
+            "version": "1.3.669",
+            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.669.tgz",
+            "integrity": "sha512-VNj10fmGC6SbE7s4tKG7y2OopVXYoTIfjE1MetflPd77KmeRuHtkl+HYsfF00BGg5hyaorTUn6lTToEHaciOSw=="
         },
         "elliptic": {
             "version": "6.5.4",

+ 1 - 1
resources/js/pages/Domains.vue

@@ -561,7 +561,7 @@ export default {
           if (error.response.status === 422) {
             this.error(error.response.data.errors.domain[0])
           } else if (error.response.status === 429) {
-            this.error('Please wait a little while before checking the records again')
+            this.error('You are making too many requests')
           } else if (error.response.status === 404) {
             this.warn(
               'Verification TXT record not found, this could be due to DNS caching, please try again shortly.'

+ 2 - 0
resources/js/pages/Recipients.vue

@@ -491,6 +491,8 @@ export default {
           this.addRecipientLoading = false
           if (error.response.status === 422) {
             this.error(error.response.data.errors.email[0])
+          } else if (error.response.status === 429) {
+            this.error('You are making too many requests')
           } else {
             this.error()
           }