ChFlick/blogstoph

View on GitHub
database-rules.json

Summary

Maintainability
Test Coverage
{
    "rules": {
        ".read": "auth != null && auth.uid === 'ADMIN_ID_HERE'",
        ".write": "auth != null && auth.uid === 'ADMIN_ID_HERE'",
        "posts": {
            "public": {
                "$id": {
                    ".validate": "newData.hasChildren(['title', 'subtitle', 'content', 'date', 'author'])",
                    "title": {
                        ".validate": "newData.isString() && newData.val().length > 0"
                    },
                    "subtitle": {
                        ".validate": "newData.isString()"
                    },
                    "content": {
                        ".validate": "newData.isString() && newData.val().length > 0"
                    },
                    "author": {
                        ".validate": "newData.isString() && newData.val().length > 0"
                    },
                    "date": {
                        ".validate": "newData.isNumber()"
                    },
                    "$other": {
                        ".validate": false
                    }
                },
                ".read": true
            },
            "private": {
                "$id": {
                    ".validate": "newData.hasChildren(['title', 'subtitle', 'content', 'date', 'author'])",
                    "title": {
                        ".validate": "newData.isString() && newData.val().length > 0"
                    },
                    "subtitle": {
                        ".validate": "newData.isString()"
                    },
                    "content": {
                        ".validate": "newData.isString()"
                    },
                    "author": {
                        ".validate": "newData.isString()"
                    },
                    "date": {
                        ".validate": "newData.isNumber()"
                    },
                    "$other": {
                        ".validate": false
                    }
                }
            },
            "$other": {
                ".validate": false
            }
        },
        "$other": {
            ".validate": false
        }
    }
}