나는 다음과 같은 Blaze YAML 파일에 대한 rules.json
를 컴파일하려고 : 나는 불꽃과 함께 컴파일중포 기지 블레이즈 컴파일러는 잘못된 결과를 제공합니다
functions:
- isLoggedIn(): auth.id !== null
schema:
type: object
properties:
projects:
type: object
$projectId:
type: object
properties:
roles:
type: object
$permissionId:
type: object
$roleId: {type: boolean}
access:
- location: /projects/$projectId/
write: isLoggedIn() && (!next.exists() || next.hasChildren())
나는 다음과 같은 JSON 얻을 :
{
"rules":{
".write":"false",
".read":"false",
"projects": {
".write":"false",
".read":"false",
"$projectId": {
".write":"(((false)))",
".read":"false",
"roles": {
".write":"((false))",
".read":"false",
"$permissionId": {
".write":"((false))",
".read":"false",
"$roleId": {
".write":"(((!newData.parent().parent().parent().parent().parent().exists()||!(((newData.parent().parent().parent().parent().parent().isString()||newData.parent().parent().parent().parent().parent().isNumber()||newData.parent().parent().parent().parent().parent().isBoolean()))))&&(!newData.parent().parent().parent().parent().exists()||!(((newData.parent().parent().parent().parent().isString()||newData.parent().parent().parent().parent().isNumber()||newData.parent().parent().parent().parent().isBoolean()))))&&(!newData.parent().parent().parent().exists()||!(((newData.parent().parent().parent().isString()||newData.parent().parent().parent().isNumber()||newData.parent().parent().parent().isBoolean()))))&&(!newData.parent().parent().exists()||!(((newData.parent().parent().isString()||newData.parent().parent().isNumber()||newData.parent().parent().isBoolean()))))&&(!newData.parent().exists()||!(((newData.parent().isString()||newData.parent().isNumber()||newData.parent().isBoolean()))))&&(!newData.exists()||newData.isBoolean())&&auth.id!==null&&(!newData.parent().parent().parent().exists()||newData.parent().parent().parent().hasChildren())))",
".read":"false"
}
}
}
}
}
}
}
I을 $projectId.write
규칙에 isLoggedIn() && (!next.exists() || next.hasChildren())
의 컴파일 된 버전이 포함될 것으로 예상되었지만 대신 (((false)))
을 포함합니다.
이 버그는 불길에 있습니까? 아니면 YAML 규칙이 올바르게 작성되지 않았습니까? 맞지 않으면 어디서 잘못 읽었습니까?
I이 문서에서 그 점 놓쳤다. 해명 해줘서 고마워. –