Velo 第06回 コレクションアイテムのオーナー
コレクションにデータがインサートされるとき、システムはそれが誰のデータかを オーナーというフィールドにIDを使って書き込みます。
システムが自動で書き込むデータは他にデータID、作成日、変更日などがあります。
このオーナーIDやルーターという機能を使うとコレクションの権限を公開しながら本人以外のアクセスを許さないようにできます。
さて問題はこのオーナーIDをどのようにして知ることができるかということになります。
Wix の wix-members-frontend モジュールには CurrentMember というAPIがあり getMember( ) 関数を持っています。
この関数を使えばサイトにアクセスしているメンバーのIDを知ることができます。
以下のコードをご覧下さい。
// 冒頭にインポート文を書きます
import { currentMember } from 'wix-members-frontend';
// getMember() 関数を実行し結果を待ちます
currentMember.getMember()
// プロミスが解決すればメンバーオブジェクトから _idプロパティを取り出します
.then((member) => {const id = member._id;
//.....
}
ここで得られるIDがコレクションのオーナーIDとして書き込まれます。注意しないといけないのはログインの有無です。
サイトにログインしていればログインIDで個人が特定できターミナルによらずIDは一致しますが、ログインしていなければターミナル毎に違うIDを発生しますのである意味使い物になりません。
オーナーIDについては Velo Developer certification 4択問題にも出題されています。
Velo開発のご依頼はこちら
この記事が気に入ったらサポートをしてみませんか?