MCPcopy Index your code
hub / github.com/bytebase/bytebase / createEnvironment

Method createEnvironment

backend/tests/environment.go:34–67  ·  view source on GitHub ↗

createEnvironment creates a new environment. The created environment will be appended to the existing environments. It returns the created environment.

(ctx context.Context, id, title string)

Source from the content-addressed store, hash-verified

32// The created environment will be appended to the existing environments.
33// It returns the created environment.
34func (ctl *controller) createEnvironment(ctx context.Context, id, title string) (*v1pb.EnvironmentSetting_Environment, error) {
35 resp, err := ctl.settingServiceClient.GetSetting(ctx,
36 connect.NewRequest(&v1pb.GetSettingRequest{
37 Name: "settings/" + v1pb.Setting_ENVIRONMENT.String(),
38 }))
39 if err != nil {
40 return nil, err
41 }
42 environments := resp.Msg.Value.GetEnvironment().GetEnvironments()
43 environments = append(environments, &v1pb.EnvironmentSetting_Environment{
44 Id: id,
45 Title: title,
46 })
47 _, err = ctl.settingServiceClient.UpdateSetting(ctx,
48 connect.NewRequest(&v1pb.UpdateSettingRequest{
49 Setting: &v1pb.Setting{
50 Name: "settings/" + v1pb.Setting_ENVIRONMENT.String(),
51 Value: &v1pb.SettingValue{
52 Value: &v1pb.SettingValue_Environment{
53 Environment: &v1pb.EnvironmentSetting{
54 Environments: environments,
55 },
56 },
57 },
58 },
59 UpdateMask: &fieldmaskpb.FieldMask{
60 Paths: []string{"environment"},
61 },
62 }))
63 if err != nil {
64 return nil, err
65 }
66 return ctl.getEnvironment(ctx, id)
67}

Callers 2

TestGetLatestSchemaFunction · 0.95
handleCreateFunction · 0.80

Calls 6

getEnvironmentMethod · 0.95
GetSettingMethod · 0.65
StringMethod · 0.65
UpdateSettingMethod · 0.65
GetEnvironmentsMethod · 0.45
GetEnvironmentMethod · 0.45

Tested by 1

TestGetLatestSchemaFunction · 0.76