mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	fix swagger documentation for multiple files API endpoint (#25110)
Fixes some issues with the swagger documentation for the new multiple files API endpoint (#24887) which were overlooked when submitting the original PR: 1. add some missing parameter descriptions 2. set correct `required` option for required parameters 3. change endpoint description to match it full functionality (every kind of file modification is supported, not just creating and updating)
This commit is contained in:
		@@ -71,11 +71,11 @@ type ChangeFileOperation struct {
 | 
				
			|||||||
	// enum: create,update,delete
 | 
						// enum: create,update,delete
 | 
				
			||||||
	Operation string `json:"operation" binding:"Required"`
 | 
						Operation string `json:"operation" binding:"Required"`
 | 
				
			||||||
	// path to the existing or new file
 | 
						// path to the existing or new file
 | 
				
			||||||
	Path string `json:"path" binding:"MaxSize(500)"`
 | 
					 | 
				
			||||||
	// content must be base64 encoded
 | 
					 | 
				
			||||||
	// required: true
 | 
						// required: true
 | 
				
			||||||
 | 
						Path string `json:"path" binding:"Required;MaxSize(500)"`
 | 
				
			||||||
 | 
						// new or updated file content, must be base64 encoded
 | 
				
			||||||
	Content string `json:"content"`
 | 
						Content string `json:"content"`
 | 
				
			||||||
	// sha is the SHA for the file that already exists, required for update, delete
 | 
						// sha is the SHA for the file that already exists, required for update or delete
 | 
				
			||||||
	SHA string `json:"sha"`
 | 
						SHA string `json:"sha"`
 | 
				
			||||||
	// old path of the file to move
 | 
						// old path of the file to move
 | 
				
			||||||
	FromPath string `json:"from_path"`
 | 
						FromPath string `json:"from_path"`
 | 
				
			||||||
@@ -85,7 +85,9 @@ type ChangeFileOperation struct {
 | 
				
			|||||||
// Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
 | 
					// Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
 | 
				
			||||||
type ChangeFilesOptions struct {
 | 
					type ChangeFilesOptions struct {
 | 
				
			||||||
	FileOptions
 | 
						FileOptions
 | 
				
			||||||
	Files []*ChangeFileOperation `json:"files"`
 | 
						// list of file operations
 | 
				
			||||||
 | 
						// required: true
 | 
				
			||||||
 | 
						Files []*ChangeFileOperation `json:"files" binding:"Required"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Branch returns branch name
 | 
					// Branch returns branch name
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -408,11 +408,11 @@ func canReadFiles(r *context.Repository) bool {
 | 
				
			|||||||
	return r.Permission.CanRead(unit.TypeCode)
 | 
						return r.Permission.CanRead(unit.TypeCode)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ChangeFiles handles API call for creating or updating multiple files
 | 
					// ChangeFiles handles API call for modifying multiple files
 | 
				
			||||||
func ChangeFiles(ctx *context.APIContext) {
 | 
					func ChangeFiles(ctx *context.APIContext) {
 | 
				
			||||||
	// swagger:operation POST /repos/{owner}/{repo}/contents repository repoChangeFiles
 | 
						// swagger:operation POST /repos/{owner}/{repo}/contents repository repoChangeFiles
 | 
				
			||||||
	// ---
 | 
						// ---
 | 
				
			||||||
	// summary: Create or update multiple files in a repository
 | 
						// summary: Modify multiple files in a repository
 | 
				
			||||||
	// consumes:
 | 
						// consumes:
 | 
				
			||||||
	// - application/json
 | 
						// - application/json
 | 
				
			||||||
	// produces:
 | 
						// produces:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								templates/swagger/v1_json.tmpl
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										12
									
								
								templates/swagger/v1_json.tmpl
									
									
									
										generated
									
									
									
								
							@@ -4074,7 +4074,7 @@
 | 
				
			|||||||
        "tags": [
 | 
					        "tags": [
 | 
				
			||||||
          "repository"
 | 
					          "repository"
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "summary": "Create or update multiple files in a repository",
 | 
					        "summary": "Modify multiple files in a repository",
 | 
				
			||||||
        "operationId": "repoChangeFiles",
 | 
					        "operationId": "repoChangeFiles",
 | 
				
			||||||
        "parameters": [
 | 
					        "parameters": [
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
@@ -15947,11 +15947,11 @@
 | 
				
			|||||||
      "type": "object",
 | 
					      "type": "object",
 | 
				
			||||||
      "required": [
 | 
					      "required": [
 | 
				
			||||||
        "operation",
 | 
					        "operation",
 | 
				
			||||||
        "content"
 | 
					        "path"
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
      "properties": {
 | 
					      "properties": {
 | 
				
			||||||
        "content": {
 | 
					        "content": {
 | 
				
			||||||
          "description": "content must be base64 encoded",
 | 
					          "description": "new or updated file content, must be base64 encoded",
 | 
				
			||||||
          "type": "string",
 | 
					          "type": "string",
 | 
				
			||||||
          "x-go-name": "Content"
 | 
					          "x-go-name": "Content"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -15976,7 +15976,7 @@
 | 
				
			|||||||
          "x-go-name": "Path"
 | 
					          "x-go-name": "Path"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "sha": {
 | 
					        "sha": {
 | 
				
			||||||
          "description": "sha is the SHA for the file that already exists, required for update, delete",
 | 
					          "description": "sha is the SHA for the file that already exists, required for update or delete",
 | 
				
			||||||
          "type": "string",
 | 
					          "type": "string",
 | 
				
			||||||
          "x-go-name": "SHA"
 | 
					          "x-go-name": "SHA"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -15986,6 +15986,9 @@
 | 
				
			|||||||
    "ChangeFilesOptions": {
 | 
					    "ChangeFilesOptions": {
 | 
				
			||||||
      "description": "ChangeFilesOptions options for creating, updating or deleting multiple files\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
 | 
					      "description": "ChangeFilesOptions options for creating, updating or deleting multiple files\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
 | 
				
			||||||
      "type": "object",
 | 
					      "type": "object",
 | 
				
			||||||
 | 
					      "required": [
 | 
				
			||||||
 | 
					        "files"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
      "properties": {
 | 
					      "properties": {
 | 
				
			||||||
        "author": {
 | 
					        "author": {
 | 
				
			||||||
          "$ref": "#/definitions/Identity"
 | 
					          "$ref": "#/definitions/Identity"
 | 
				
			||||||
@@ -16002,6 +16005,7 @@
 | 
				
			|||||||
          "$ref": "#/definitions/CommitDateOptions"
 | 
					          "$ref": "#/definitions/CommitDateOptions"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "files": {
 | 
					        "files": {
 | 
				
			||||||
 | 
					          "description": "list of file operations",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "$ref": "#/definitions/ChangeFileOperation"
 | 
					            "$ref": "#/definitions/ChangeFileOperation"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user