debian-mirror-gitlab/spec/fixtures/api/schemas/conflicts.json
2023-03-05 14:24:40 +05:30

205 lines
No EOL
4.1 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": "string",
"enum": [
"text",
"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": "string",
"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": {
"type": "boolean"
}
}
}
]
},
"section-conflict": {
"allOf": [
{
"$ref": "#/definitions/section-base"
},
{
"type": "object",
"required": [
"id"
],
"properties": {
"conflict": {
"type": "boolean"
},
"id": {
"type": "string"
}
}
}
]
}
}
}