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'"
}
}
}