api/secure_files.go (55 lines of code) (raw):

package api import ( "io" gitlab "gitlab.com/gitlab-org/api/client-go" ) var CreateSecureFile = func(client *gitlab.Client, projectID any, filename string, content io.Reader) error { if client == nil { client = apiClient.Lab() } opts := &gitlab.CreateSecureFileOptions{ Name: &filename, } _, _, err := client.SecureFiles.CreateSecureFile(projectID, content, opts) return err } var DownloadSecureFile = func(client *gitlab.Client, projectID any, id int) (io.Reader, error) { if client == nil { client = apiClient.Lab() } reader, _, err := client.SecureFiles.DownloadSecureFile(projectID, id) if err != nil { return nil, err } return reader, nil } var ListSecureFiles = func(client *gitlab.Client, l *gitlab.ListProjectSecureFilesOptions, projectID any) ([]*gitlab.SecureFile, error) { if client == nil { client = apiClient.Lab() } if l == nil { l = &gitlab.ListProjectSecureFilesOptions{ Page: 1, PerPage: DefaultListLimit, } } else { if l.PerPage == 0 { l.PerPage = DefaultListLimit } if l.Page == 0 { l.Page = 1 } } files, _, err := client.SecureFiles.ListProjectSecureFiles(projectID, l) if err != nil { return nil, err } return files, nil } var RemoveSecureFile = func(client *gitlab.Client, projectID any, id int) error { if client == nil { client = apiClient.Lab() } _, err := client.SecureFiles.RemoveSecureFile(projectID, id) return err }