MCPcopy Create free account
hub / github.com/cloudbase/garm / CreateGiteaEndpoint

Method CreateGiteaEndpoint

database/sql/gitea.go:31–71  ·  view source on GitHub ↗
(_ context.Context, param params.CreateGiteaEndpointParams)

Source from the content-addressed store, hash-verified

29)
30
31func (s *sqlDatabase) CreateGiteaEndpoint(_ context.Context, param params.CreateGiteaEndpointParams) (ghEndpoint params.ForgeEndpoint, err error) {
32 if param.ToolsMetadataURL == "" {
33 param.ToolsMetadataURL = appdefaults.GiteaRunnerReleasesURL
34 }
35 defer func() {
36 if err == nil {
37 s.sendNotify(common.GithubEndpointEntityType, common.CreateOperation, ghEndpoint)
38 }
39 }()
40 var endpoint GithubEndpoint
41 err = s.conn.Transaction(func(tx *gorm.DB) error {
42 if err := tx.Where("name = ?", param.Name).First(&endpoint).Error; err == nil {
43 return fmt.Errorf("gitea endpoint already exists: %w", runnerErrors.ErrDuplicateEntity)
44 }
45 endpoint = GithubEndpoint{
46 Name: param.Name,
47 Description: param.Description,
48 APIBaseURL: param.APIBaseURL,
49 BaseURL: param.BaseURL,
50 CACertBundle: param.CACertBundle,
51 EndpointType: params.GiteaEndpointType,
52 ToolsMetadataURL: param.ToolsMetadataURL,
53 }
54 if param.UseInternalToolsMetadata != nil {
55 endpoint.UseInternalToolsMetadata = *param.UseInternalToolsMetadata
56 }
57
58 if err := tx.Create(&endpoint).Error; err != nil {
59 return fmt.Errorf("error creating gitea endpoint: %w", err)
60 }
61 return nil
62 })
63 if err != nil {
64 return params.ForgeEndpoint{}, fmt.Errorf("error creating gitea endpoint: %w", err)
65 }
66 ghEndpoint, err = s.sqlToCommonGithubEndpoint(endpoint)
67 if err != nil {
68 return params.ForgeEndpoint{}, fmt.Errorf("error converting gitea endpoint: %w", err)
69 }
70 return ghEndpoint, nil
71}
72
73func (s *sqlDatabase) ListGiteaEndpoints(_ context.Context) ([]params.ForgeEndpoint, error) {
74 var endpoints []GithubEndpoint

Callers

nothing calls this directly

Calls 2

sendNotifyMethod · 0.95

Tested by

no test coverage detected