forked from nick-transition/fitapp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstorage.rules
More file actions
26 lines (22 loc) · 1.07 KB
/
Copy pathstorage.rules
File metadata and controls
26 lines (22 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
// Exercise clips live under users/{uid}/sessions/{sessionId}/entries/{entryId}/{file}
match /users/{uid}/sessions/{sessionId}/entries/{entryId}/{fileName} {
// Owner: full access to their own clips.
allow read, write, delete: if request.auth != null && request.auth.uid == uid;
// Connected coach: read-only via same check used in firestore.rules.
allow read: if request.auth != null &&
firestore.exists(/databases/(default)/documents/coachConnections/$(uid + '_' + request.auth.uid)) &&
firestore.get(/databases/(default)/documents/coachConnections/$(uid + '_' + request.auth.uid)).data.status == 'active';
// Uploads: must be a video and ≤ 100 MB.
allow create, update: if request.auth != null && request.auth.uid == uid &&
request.resource.size < 100 * 1024 * 1024 &&
request.resource.contentType.matches('video/.*');
}
// Everything else is locked down.
match /{allPaths=**} {
allow read, write: if false;
}
}
}