@@ -1212,5 +1212,43 @@ service cloud.firestore {
12121212 ;
12131213 }
12141214 }
1215+ match / personalAnalytics/ {user } {
1216+ allow create : if
1217+ // Type checks
1218+ (! (' createdWhen' in request .resource.data .keys ()) || request .resource.data.createdWhen == null || request .resource.data.createdWhen is timestamp ) &&
1219+ request .resource.data.type is string &&
1220+ (! (' str1' in request .resource.data .keys ()) || request .resource.data.str1 == null || request .resource.data.str1 is string ) &&
1221+ (! (' str2' in request .resource.data .keys ()) || request .resource.data.str2 == null || request .resource.data.str2 is string ) &&
1222+ (! (' str3' in request .resource.data .keys ()) || request .resource.data.str3 == null || request .resource.data.str3 is string ) &&
1223+ (! (' float1' in request .resource.data .keys ()) || request .resource.data.float1 == null || request .resource.data.float1 is float ) &&
1224+ (! (' float2' in request .resource.data .keys ()) || request .resource.data.float2 == null || request .resource.data.float2 is float ) &&
1225+ (! (' float3' in request .resource.data .keys ()) || request .resource.data.float3 == null || request .resource.data.float3 is float ) &&
1226+ (! (' time1' in request .resource.data .keys ()) || request .resource.data.time1 == null || request .resource.data.time1 is timestamp ) &&
1227+ (! (' time2' in request .resource.data .keys ()) || request .resource.data.time2 == null || request .resource.data.time2 is timestamp ) &&
1228+ (! (' time3' in request .resource.data .keys ()) || request .resource.data.time3 == null || request .resource.data.time3 is timestamp ) &&
1229+
1230+
1231+ // Ownership rules
1232+ request .auth.uid == user
1233+ ;
1234+ allow update : if
1235+ // Type checks
1236+ (! (' createdWhen' in request .resource.data .keys ()) || request .resource.data.createdWhen == null || request .resource.data.createdWhen is timestamp ) &&
1237+ (! (' type' in request .resource.data .keys ()) || request .resource.data.type is string ) &&
1238+ (! (' str1' in request .resource.data .keys ()) || request .resource.data.str1 == null || request .resource.data.str1 is string ) &&
1239+ (! (' str2' in request .resource.data .keys ()) || request .resource.data.str2 == null || request .resource.data.str2 is string ) &&
1240+ (! (' str3' in request .resource.data .keys ()) || request .resource.data.str3 == null || request .resource.data.str3 is string ) &&
1241+ (! (' float1' in request .resource.data .keys ()) || request .resource.data.float1 == null || request .resource.data.float1 is float ) &&
1242+ (! (' float2' in request .resource.data .keys ()) || request .resource.data.float2 == null || request .resource.data.float2 is float ) &&
1243+ (! (' float3' in request .resource.data .keys ()) || request .resource.data.float3 == null || request .resource.data.float3 is float ) &&
1244+ (! (' time1' in request .resource.data .keys ()) || request .resource.data.time1 == null || request .resource.data.time1 is timestamp ) &&
1245+ (! (' time2' in request .resource.data .keys ()) || request .resource.data.time2 == null || request .resource.data.time2 is timestamp ) &&
1246+ (! (' time3' in request .resource.data .keys ()) || request .resource.data.time3 == null || request .resource.data.time3 is timestamp ) &&
1247+
1248+
1249+ // Ownership rules
1250+ request .auth.uid == user
1251+ ;
1252+ }
12151253 }
12161254}
0 commit comments