AIにFirestoreの設計書を書いてもらった
本当にできるのだろうか?。。。試してみた!
おおすごいぞ!、本当にできましたね。用途のところに「こんな使い方しますよと解説入れてきた!」これからはAIを使いこなせるエンジニアじゃないと市場価値が上がらないかも😅
セキュリティールールはどう書けばいいですか?
Firestoreのセキュリティールールは、誰がどのようにアプリにアクセスできるかを制御します。適切に構成されたセキュリティールールは、アプリのデータのプライバシーとセキュリティを確保するために非常に重要です。以下は、ユーザーコレクションと投稿サブコレクションのセキュリティールールの例です。
ユーザーコレクションのセキュリティールール
service cloud.firestore {
match /databases/{database}/documents {
// ユーザーコレクションのドキュメントに対するルール
match /users/{userId} {
// 認証されたユーザーのみがユーザードキュメントを作成できる
allow create: if request.auth != null;
// ユーザー自身のドキュメントのみを読み取ることができる
allow read: if request.auth.uid == userId;
// ユーザー自身のドキュメントのみを更新できる
allow update: if request.auth.uid == userId;
// ドキュメントを削除することはできない
allow delete: if false;
}
}
}
このセキュリティルールでは、認証されたユーザーだけが新しいユーザードキュメントを作成できます。また、各ユーザーは自分自身のユーザードキュメントのみを読み取り、更新することができます。ユーザードキュメントは削除できません。
投稿サブコレクションのセキュリティールール
service cloud.firestore {
match /databases/{database}/documents {
// 投稿サブコレクションのドキュメントに対するルール
match /users/{userId}/posts/{postId} {
// 認証されたユーザーのみが新しい投稿ドキュメントを作成できる
allow create: if request.auth != null;
// 投稿ドキュメントの作成者のみが読み取ることができる
allow read: if resource.data.authorId == request.auth.uid;
// 投稿ドキュメントの作成者のみが更新できる
allow update: if resource.data.authorId == request.auth.uid;
// 投稿ドキュメントを削除することはできない
allow delete: if false;
// 投稿の「いいね!」数を更新できる
allow update: if request.resource.data.like == resource.data.like + 1;
}
}
}