Rails

[フロントエンド]

ルーター
router.jsの下の方にルーターを定義している。
portal/.nuxt/router.js

画面遷移を定義
this.$router.push('/login');

ログイン画面は、
①pagesのログイン画面 > login.vue
②componentsのログインフォーム >form.vue
で構成している

emailとpasswordを情報としてRoRに投げる。
投げる役割を果たすのがaxios
v-model= loginForm.email
v-model= loginForm.password



portal/store/core.js
にて、axiosの動きを定義している

[動き方]
VuexAction -> Rails API
Mutation
Store
Getters

core.jsのcoreActionsの、
get(){}
で、APIに対してJWT認証を確認して、
post(){}
で、バックエンドに実際に情報を投げている感じ。
具体的にはstore/modules/sessions/sessionActions/login
post/api/login
---
サーバー処理につき省略
---
async loggedinメソッドがログイン処理の結果を受け取って処理するところで、
非同期処理の書き方の部分で、
zendesk / 通常ログインかを分けてる。
responseの中身で見ている
失敗したらerror'login.errors.unauthorized'とかを返す

----
ここはサーバー処理
uims-api
config/routes.rb
・user_token#create
・administrator_token#create
userTokenController
include Authenticatable
の、authenticateメソッドがbefore_actionで読み込まれる
authenticateでクラス名を取得(User/Administratorでemailでアカウントまで特定)
してから、ログインを実行すること。
これが正しいと、トークンがjwtで返ってくる。
このトークンを使ってgetすると、ログインが返ってくる。
/my/token
asministrator_token#show
----


[アカウント変更]
accounts > form.vue
store/modules/account/edit()

routes
patch api/account
user / administrator #update

user_controller => Accountable update
account.saveでuser/administrator.saveでmodelのセーブが走るので、
models/useable.rb
attr_accessor :current_passwordの部分にて、
modelのvalidationを実施する。

戻り値として、controllerにて、問題なければhead:OKみたいに返す。
jbuilderはリストに出力したいときにするので,OKみたいな結果だけ返す奴には使わない

仕様書のエラーの二種類は、
クライアントバリデーションとサーバーバリデーションの二種類あるから。
----
パートナー=OEM
アカウント=admin直下のユーザー一覧

pages/admin/users/indexに、
インデックスページが描画されている。
ログインID/ロール/エディット/デリート
edit:
components/admin/users/form
66 or 92行目のedit ['toRoleEn']
user patch /api/user
params  email role

対応するroutingは、
resources :users :update
controller/admin/users_controller
にあるupdateメソッドには、
user.role userの更新処理が書かれているので、そこ。

delete:
components/dialogs/confirm
resources :users :destroy
destroyメソッドが定義されている。

登録画面
pages/admin/users/new.vue
$store.dispatch('user/create')

routes
users :create
初期パスワードはランダム生成する。
email/roleを格納する

パートナー一覧の編集
pages/admin/oems/index/oem/edit
stores/modules/oem/edit
patch api/oem
Next Post Previous Post
No Comment
Add Comment
comment url