138 lines
3.2 KiB
JSON
138 lines
3.2 KiB
JSON
|
{
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"commit_message",
|
||
|
"commit_sha",
|
||
|
"source_branch",
|
||
|
"target_branch",
|
||
|
"files"
|
||
|
],
|
||
|
"properties": {
|
||
|
"commit_message": {"type": "string"},
|
||
|
"commit_sha": {"type": "string", "pattern": "^[0-9a-f]{40}$"},
|
||
|
"source_branch": {"type": "string"},
|
||
|
"target_branch": {"type": "string"},
|
||
|
"files": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"oneOf": [
|
||
|
{ "$ref": "#/definitions/conflict-text-with-sections" },
|
||
|
{ "$ref": "#/definitions/conflict-text-for-editor" }
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"definitions": {
|
||
|
"conflict-base": {
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"old_path",
|
||
|
"new_path",
|
||
|
"blob_icon",
|
||
|
"blob_path"
|
||
|
],
|
||
|
"properties": {
|
||
|
"old_path": {"type": "string"},
|
||
|
"new_path": {"type": "string"},
|
||
|
"blob_icon": {"type": "string"},
|
||
|
"blob_path": {"type": "string"}
|
||
|
}
|
||
|
},
|
||
|
"conflict-text-for-editor": {
|
||
|
"allOf": [
|
||
|
{"$ref": "#/definitions/conflict-base"},
|
||
|
{
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"type",
|
||
|
"content_path"
|
||
|
],
|
||
|
"properties": {
|
||
|
"type": {"type": {"enum": ["text-editor"]}},
|
||
|
"content_path": {"type": "string"}
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"conflict-text-with-sections": {
|
||
|
"allOf": [
|
||
|
{"$ref": "#/definitions/conflict-base"},
|
||
|
{
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"type",
|
||
|
"content_path",
|
||
|
"sections"
|
||
|
],
|
||
|
"properties": {
|
||
|
"type": {"type": {"enum": ["text"]}},
|
||
|
"content_path": {"type": "string"},
|
||
|
"sections": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"oneOf": [
|
||
|
{ "$ref": "#/definitions/section-context" },
|
||
|
{ "$ref": "#/definitions/section-conflict" }
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"section-base": {
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"conflict",
|
||
|
"lines"
|
||
|
],
|
||
|
"properties": {
|
||
|
"conflict": {"type": "boolean"},
|
||
|
"lines": {
|
||
|
"type": "array",
|
||
|
"items": {
|
||
|
"type": "object",
|
||
|
"required": [
|
||
|
"old_line",
|
||
|
"new_line",
|
||
|
"text",
|
||
|
"rich_text"
|
||
|
],
|
||
|
"properties": {
|
||
|
"type": {"type": "string"},
|
||
|
"old_line": {"type": "string"},
|
||
|
"new_line": {"type": "string"},
|
||
|
"text": {"type": "string"},
|
||
|
"rich_text": {"type": "string"}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"section-context": {
|
||
|
"allOf": [
|
||
|
{"$ref": "#/definitions/section-base"},
|
||
|
{
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"conflict": {"enum": [false]}
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"section-conflict": {
|
||
|
"allOf": [
|
||
|
{"$ref": "#/definitions/section-base"},
|
||
|
{
|
||
|
"type": "object",
|
||
|
"required": ["id"],
|
||
|
"properties": {
|
||
|
"conflict": {"enum": [true]},
|
||
|
"id": {"type": "string"}
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
}
|