From a007160480b3ce076d52fac511e06bfe0fbaea3e Mon Sep 17 00:00:00 2001
From: Chocobozzz <me@florianbigard.com>
Date: Tue, 13 Aug 2019 08:43:37 +0200
Subject: [PATCH] Fix lint

---
 config/test.exs                               |  2 +-
 js/src/App.vue                                | 88 +++++++++----------
 js/src/apollo/user.ts                         |  2 +-
 .../components/Event/AddressAutoComplete.vue  |  2 +-
 js/src/components/NavBar.vue                  | 36 ++++----
 js/src/views/Event/Create.vue                 |  4 +-
 js/src/views/User/Validate.vue                | 16 ++--
 lib/mobilizon/users/users.ex                  | 22 ++---
 lib/mobilizon_web/resolvers/user.ex           |  4 +-
 test/mobilizon/users/users_test.exs           |  2 +-
 10 files changed, 85 insertions(+), 93 deletions(-)

diff --git a/config/test.exs b/config/test.exs
index e31d9fbfb..21432393b 100644
--- a/config/test.exs
+++ b/config/test.exs
@@ -19,7 +19,7 @@ config :mobilizon, MobilizonWeb.Endpoint,
 config :logger,
   backends: [:console],
   compile_time_purge_level: :debug,
-  level: :debug
+  level: :info
 
 # Configure your database
 config :mobilizon, Mobilizon.Repo,
diff --git a/js/src/App.vue b/js/src/App.vue
index 2cb8ee27e..2be5576e2 100644
--- a/js/src/App.vue
+++ b/js/src/App.vue
@@ -9,15 +9,15 @@
 </template>
 
 <script lang="ts">
-  import NavBar from '@/components/NavBar.vue';
-  import { Component, Vue } from 'vue-property-decorator';
-  import { AUTH_ACCESS_TOKEN, AUTH_USER_ACTOR, AUTH_USER_EMAIL, AUTH_USER_ID } from '@/constants';
-  import { CURRENT_USER_CLIENT, UPDATE_CURRENT_USER_CLIENT } from '@/graphql/user';
-  import { ICurrentUser } from '@/types/current-user.model';
-  import Footer from '@/components/Footer.vue';
-  import Logo from '@/components/Logo.vue';
+import NavBar from '@/components/NavBar.vue';
+import { Component, Vue } from 'vue-property-decorator';
+import { AUTH_ACCESS_TOKEN, AUTH_USER_ACTOR, AUTH_USER_EMAIL, AUTH_USER_ID } from '@/constants';
+import { CURRENT_USER_CLIENT, UPDATE_CURRENT_USER_CLIENT } from '@/graphql/user';
+import { ICurrentUser } from '@/types/current-user.model';
+import Footer from '@/components/Footer.vue';
+import Logo from '@/components/Logo.vue';
 
-  @Component({
+@Component({
   apollo: {
     currentUser: {
       query: CURRENT_USER_CLIENT,
@@ -34,11 +34,11 @@ export default class App extends Vue {
 
   actor = localStorage.getItem(AUTH_USER_ACTOR);
 
-  async mounted () {
+  async mounted() {
     await this.initializeCurrentUser();
   }
 
-  getUser (): ICurrentUser|false {
+  getUser(): ICurrentUser | false {
     return this.currentUser.id ? this.currentUser : false;
   }
 
@@ -62,42 +62,42 @@ export default class App extends Vue {
 </script>
 
 <style lang="scss">
-  @import "variables";
+@import "variables";
 
-  /* Bulma imports */
-  @import "~bulma/sass/base/_all.sass";
-  @import "~bulma/sass/components/card.sass";
-  @import "~bulma/sass/components/media.sass";
-  @import "~bulma/sass/components/message.sass";
-  @import "~bulma/sass/components/modal.sass";
-  @import "~bulma/sass/components/navbar.sass";
-  @import "~bulma/sass/components/pagination.sass";
-  @import "~bulma/sass/components/dropdown.sass";
-  @import "~bulma/sass/elements/box.sass";
-  @import "~bulma/sass/elements/button.sass";
-  @import "~bulma/sass/elements/container.sass";
-  @import "~bulma/sass/form/_all";
-  @import "~bulma/sass/elements/icon.sass";
-  @import "~bulma/sass/elements/image.sass";
-  @import "~bulma/sass/elements/other.sass";
-  @import "~bulma/sass/elements/tag.sass";
-  @import "~bulma/sass/elements/title.sass";
-  @import "~bulma/sass/elements/notification";
-  @import "~bulma/sass/grid/_all.sass";
-  @import "~bulma/sass/layout/_all.sass";
-  @import "~bulma/sass/utilities/_all";
+/* Bulma imports */
+@import "~bulma/sass/base/_all.sass";
+@import "~bulma/sass/components/card.sass";
+@import "~bulma/sass/components/media.sass";
+@import "~bulma/sass/components/message.sass";
+@import "~bulma/sass/components/modal.sass";
+@import "~bulma/sass/components/navbar.sass";
+@import "~bulma/sass/components/pagination.sass";
+@import "~bulma/sass/components/dropdown.sass";
+@import "~bulma/sass/elements/box.sass";
+@import "~bulma/sass/elements/button.sass";
+@import "~bulma/sass/elements/container.sass";
+@import "~bulma/sass/form/_all";
+@import "~bulma/sass/elements/icon.sass";
+@import "~bulma/sass/elements/image.sass";
+@import "~bulma/sass/elements/other.sass";
+@import "~bulma/sass/elements/tag.sass";
+@import "~bulma/sass/elements/title.sass";
+@import "~bulma/sass/elements/notification";
+@import "~bulma/sass/grid/_all.sass";
+@import "~bulma/sass/layout/_all.sass";
+@import "~bulma/sass/utilities/_all";
 
-  /* Buefy imports */
-  @import "~buefy/src/scss/utils/_all";
-  @import "~buefy/src/scss/components/datepicker";
-  @import "~buefy/src/scss/components/notices";
-  @import "~buefy/src/scss/components/dropdown";
-  @import "~buefy/src/scss/components/autocomplete";
-  @import "~buefy/src/scss/components/form";
-  @import "~buefy/src/scss/components/modal";
-  @import "~buefy/src/scss/components/tag";
-  @import "~buefy/src/scss/components/taginput";
-  @import "~buefy/src/scss/components/upload";
+/* Buefy imports */
+@import "~buefy/src/scss/utils/_all";
+@import "~buefy/src/scss/components/datepicker";
+@import "~buefy/src/scss/components/notices";
+@import "~buefy/src/scss/components/dropdown";
+@import "~buefy/src/scss/components/autocomplete";
+@import "~buefy/src/scss/components/form";
+@import "~buefy/src/scss/components/modal";
+@import "~buefy/src/scss/components/tag";
+@import "~buefy/src/scss/components/taginput";
+@import "~buefy/src/scss/components/upload";
 
 .router-enter-active,
 .router-leave-active {
diff --git a/js/src/apollo/user.ts b/js/src/apollo/user.ts
index 7d6fa02e9..9bdf94446 100644
--- a/js/src/apollo/user.ts
+++ b/js/src/apollo/user.ts
@@ -29,4 +29,4 @@ export function buildCurrentUserResolver(cache: ApolloCache<NormalizedCacheObjec
       cache.writeData({ data });
     },
   };
-};
+}
diff --git a/js/src/components/Event/AddressAutoComplete.vue b/js/src/components/Event/AddressAutoComplete.vue
index 023ef7963..b3362a61c 100644
--- a/js/src/components/Event/AddressAutoComplete.vue
+++ b/js/src/components/Event/AddressAutoComplete.vue
@@ -45,7 +45,7 @@ export default class AddressAutoComplete extends Vue {
     this.data = result.data.searchAddress as IAddress[];
   }
 
-  @Watch("selected")
+  @Watch('selected')
   updateSelected() {
     this.$emit('input', this.selected);
   }
diff --git a/js/src/components/NavBar.vue b/js/src/components/NavBar.vue
index 3f2317204..972a55dfa 100644
--- a/js/src/components/NavBar.vue
+++ b/js/src/components/NavBar.vue
@@ -60,18 +60,18 @@
 </template>
 
 <script lang="ts">
-  import { Component, Vue, Watch } from 'vue-property-decorator';
-  import { CURRENT_USER_CLIENT } from '@/graphql/user';
-  import { logout } from '@/utils/auth';
-  import { LOGGED_PERSON } from '@/graphql/actor';
-  import { IPerson } from '@/types/actor';
-  import { CONFIG } from '@/graphql/config';
-  import { IConfig } from '@/types/config.model';
-  import { ICurrentUser } from '@/types/current-user.model';
-  import Logo from '@/components/Logo.vue';
-  import SearchField from '@/components/SearchField.vue';
+import { Component, Vue, Watch } from 'vue-property-decorator';
+import { CURRENT_USER_CLIENT } from '@/graphql/user';
+import { logout } from '@/utils/auth';
+import { LOGGED_PERSON } from '@/graphql/actor';
+import { IPerson } from '@/types/actor';
+import { CONFIG } from '@/graphql/config';
+import { IConfig } from '@/types/config.model';
+import { ICurrentUser } from '@/types/current-user.model';
+import Logo from '@/components/Logo.vue';
+import SearchField from '@/components/SearchField.vue';
 
-  @Component({
+@Component({
   apollo: {
     currentUser: {
       query: CURRENT_USER_CLIENT,
@@ -88,7 +88,7 @@
 export default class NavBar extends Vue {
   notifications = [
     { header: 'Coucou' },
-    { title: "T'as une notification", subtitle: 'Et elle est cool' },
+    { title: 'T\'as une notification', subtitle: 'Et elle est cool' },
   ];
   loggedPerson: IPerson | null = null;
   config!: IConfig;
@@ -117,13 +117,13 @@ export default class NavBar extends Vue {
 }
 </script>
 <style lang="scss" scoped>
-  @import "../variables.scss";
+@import "../variables.scss";
 
-  nav {
-    border-bottom: solid 1px #0a0a0a;
+nav {
+  border-bottom: solid 1px #0a0a0a;
 
-    .navbar-item img {
-      max-height: 2.5em;
-    }
+  .navbar-item img {
+    max-height: 2.5em;
   }
+}
 </style>
diff --git a/js/src/views/Event/Create.vue b/js/src/views/Event/Create.vue
index 856432c05..0de44411e 100644
--- a/js/src/views/Event/Create.vue
+++ b/js/src/views/Event/Create.vue
@@ -137,9 +137,9 @@ export default class CreateEvent extends Vue {
     const obj = {
       organizerActorId: this.loggedPerson.id,
       beginsOn: this.event.beginsOn.toISOString(),
-      tags: this.event.tags.map((tag: ITag) => tag.title)
+      tags: this.event.tags.map((tag: ITag) => tag.title),
     };
-    let res = Object.assign({}, this.event, obj);
+    const res = Object.assign({}, this.event, obj);
 
     if (this.event.physicalAddress) {
       delete this.event.physicalAddress['__typename'];
diff --git a/js/src/views/User/Validate.vue b/js/src/views/User/Validate.vue
index 02c51d969..76b3237d8 100644
--- a/js/src/views/User/Validate.vue
+++ b/js/src/views/User/Validate.vue
@@ -17,14 +17,14 @@
 </template>
 
 <script lang="ts">
-  import { VALIDATE_USER } from '@/graphql/user';
-  import { Component, Prop, Vue } from 'vue-property-decorator';
-  import { AUTH_USER_ID } from '@/constants';
-  import { RouteName } from '@/router';
-  import { UserRouteName } from '@/router/user';
-  import { saveTokenData } from '@/utils/auth';
+import { VALIDATE_USER } from '@/graphql/user';
+import { Component, Prop, Vue } from 'vue-property-decorator';
+import { AUTH_USER_ID } from '@/constants';
+import { RouteName } from '@/router';
+import { UserRouteName } from '@/router/user';
+import { saveTokenData } from '@/utils/auth';
 
-  @Component
+@Component
 export default class Validate extends Vue {
   @Prop({ type: String, required: true }) token!: string;
 
@@ -64,7 +64,7 @@ export default class Validate extends Vue {
   saveUserData({ validateUser: login }) {
     localStorage.setItem(AUTH_USER_ID, login.user.id);
 
-    saveTokenData(login)
+    saveTokenData(login);
   }
 }
 </script>
diff --git a/lib/mobilizon/users/users.ex b/lib/mobilizon/users/users.ex
index 90d10de5d..92697d931 100644
--- a/lib/mobilizon/users/users.ex
+++ b/lib/mobilizon/users/users.ex
@@ -231,11 +231,11 @@ defmodule Mobilizon.Users do
   """
   def authenticate(%{user: user, password: password}) do
     # Does password match the one stored in the database?
-    case Argon2.verify_pass(password, user.password_hash) do
-      true ->
-        # Yes, create and return the token
-        with {:ok, tokens} <- generate_tokens(user), do: {:ok, tokens}
-
+    with true <- Argon2.verify_pass(password, user.password_hash),
+         # Yes, create and return the token
+         {:ok, tokens} <- generate_tokens(user) do
+      {:ok, tokens}
+    else
       _ ->
         # No, return an error
         {:error, :unauthorized}
@@ -252,22 +252,16 @@ defmodule Mobilizon.Users do
     end
   end
 
-  def generate_access_token(user) do
+  defp generate_access_token(user) do
     with {:ok, access_token, _claims} <-
-           MobilizonWeb.Guardian.encode_and_sign(user, %{},
-             token_type: "access",
-             ttl: {5, :seconds}
-           ) do
+           MobilizonWeb.Guardian.encode_and_sign(user, %{}, token_type: "access") do
       {:ok, access_token}
     end
   end
 
   def generate_refresh_token(user) do
     with {:ok, refresh_token, _claims} <-
-           MobilizonWeb.Guardian.encode_and_sign(user, %{},
-             token_type: "refresh",
-             ttl: {30, :days}
-           ) do
+           MobilizonWeb.Guardian.encode_and_sign(user, %{}, token_type: "refresh") do
       {:ok, refresh_token}
     end
   end
diff --git a/lib/mobilizon_web/resolvers/user.ex b/lib/mobilizon_web/resolvers/user.ex
index ef3f0839f..500036fa3 100644
--- a/lib/mobilizon_web/resolvers/user.ex
+++ b/lib/mobilizon_web/resolvers/user.ex
@@ -89,9 +89,7 @@ defmodule MobilizonWeb.Resolvers.User do
       ) do
     with {:ok, user, _claims} <- MobilizonWeb.Guardian.resource_from_token(refresh_token),
          {:ok, _old, {exchanged_token, _claims}} <-
-           MobilizonWeb.Guardian.exchange(refresh_token, ["access", "refresh"], "access",
-             ttl: {1, :days}
-           ),
+           MobilizonWeb.Guardian.exchange(refresh_token, ["access", "refresh"], "access"),
          {:ok, refresh_token} <- Users.generate_refresh_token(user) do
       {:ok, %{access_token: exchanged_token, refresh_token: refresh_token}}
     else
diff --git a/test/mobilizon/users/users_test.exs b/test/mobilizon/users/users_test.exs
index a7ebceeb9..bb43805ab 100644
--- a/test/mobilizon/users/users_test.exs
+++ b/test/mobilizon/users/users_test.exs
@@ -68,7 +68,7 @@ defmodule Mobilizon.UsersTest do
     test "authenticate/1 checks the user's password" do
       {:ok, %User{} = user} = Users.register(%{email: @email, password: @password})
 
-      assert {:ok, _, _} = Users.authenticate(%{user: user, password: @password})
+      assert {:ok, _} = Users.authenticate(%{user: user, password: @password})
 
       assert {:error, :unauthorized} ==
                Users.authenticate(%{user: user, password: "bad password"})