Demo App: Post

State Machine Definition

{
    "machineType": "post",
    "mtime": 1592507353,
    "states": {
        "Exists": {
            "name": "Exists",
            "color": "#def",
            "extensions": {}
        },
        "": {
            "name": "",
            "color": null,
            "extensions": {}
        }
    },
    "actions": {
        "create": {
            "name": "create",
            "transitions": {
                "": {
                    "name": "create",
                    "sourceState": "",
                    "targetStates": [
                        "Exists"
                    ],
                    "color": "#4a0",
                    "extensions": {}
                }
            },
            "extensions": {}
        },
        "update": {
            "name": "update",
            "transitions": {
                "Exists": {
                    "name": "update",
                    "sourceState": "Exists",
                    "targetStates": [
                        "Exists"
                    ],
                    "color": null,
                    "extensions": {}
                }
            },
            "extensions": {}
        },
        "delete": {
            "name": "delete",
            "transitions": {
                "Exists": {
                    "name": "delete",
                    "sourceState": "Exists",
                    "targetStates": [
                        ""
                    ],
                    "color": "#a40",
                    "extensions": {}
                }
            },
            "extensions": {}
        }
    },
    "transitions": [
        {
            "name": "create",
            "sourceState": "",
            "targetStates": [
                "Exists"
            ],
            "color": "#4a0",
            "extensions": {}
        },
        {
            "name": "update",
            "sourceState": "Exists",
            "targetStates": [
                "Exists"
            ],
            "color": null,
            "extensions": {}
        },
        {
            "name": "delete",
            "sourceState": "Exists",
            "targetStates": [
                ""
            ],
            "color": "#a40",
            "extensions": {}
        }
    ],
    "stateMachineGraph": {},
    "properties": {
        "id": {
            "name": "id",
            "type": null,
            "isNullable": null,
            "extensions": {
                "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlPropertyExtension": {
                    "sqlColumn": "id",
                    "isId": true
                }
            }
        },
        "title": {
            "name": "title",
            "type": null,
            "isNullable": null,
            "extensions": {
                "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlPropertyExtension": {
                    "sqlColumn": "title",
                    "isId": false
                }
            }
        },
        "slug": {
            "name": "slug",
            "type": null,
            "isNullable": null,
            "extensions": {
                "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlPropertyExtension": {
                    "sqlColumn": "slug",
                    "isId": false
                }
            }
        },
        "summary": {
            "name": "summary",
            "type": null,
            "isNullable": null,
            "extensions": {
                "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlPropertyExtension": {
                    "sqlColumn": "summary",
                    "isId": false
                }
            }
        },
        "content": {
            "name": "content",
            "type": null,
            "isNullable": null,
            "extensions": {
                "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlPropertyExtension": {
                    "sqlColumn": "content",
                    "isId": false
                }
            }
        },
        "publishedAt": {
            "name": "publishedAt",
            "type": null,
            "isNullable": null,
            "extensions": {
                "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlPropertyExtension": {
                    "sqlColumn": "published_at",
                    "isId": false
                }
            }
        },
        "authorId": {
            "name": "authorId",
            "type": null,
            "isNullable": null,
            "extensions": {
                "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlPropertyExtension": {
                    "sqlColumn": "author_id",
                    "isId": false
                }
            }
        },
        "commentCount": {
            "name": "commentCount",
            "type": null,
            "isNullable": null,
            "extensions": {
                "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlCalculatedPropertyExtension": {
                    "sqlSelect": "SELECT COUNT(*) FROM symfony_demo_comment WHERE symfony_demo_comment.post_id = this.id"
                }
            }
        }
    },
    "errors": [],
    "referenceClass": "Smalldb\\StateMachine\\Test\\Example\\Post\\Post",
    "repositoryClass": "Smalldb\\StateMachine\\Test\\Example\\Post\\PostRepository",
    "transitionsClass": "Smalldb\\StateMachine\\Test\\Example\\Post\\PostTransitions",
    "extensions": {
        "Smalldb\\StateMachine\\SourcesExtension\\Definition\\SourcesExtension": {
            "sourceFiles": [
                {
                    "filename": "test\/Example\/Post\/Post.php"
                }
            ]
        },
        "Smalldb\\StateMachine\\SqlExtension\\Definition\\SqlTableExtension": {
            "sqlTable": "symfony_demo_post",
            "sqlStateSelect": "'Exists'"
        }
    }
}