MCPcopy Create free account
hub / github.com/belak/gitdir / loadOrgConfig

Method loadOrgConfig

config_org.go:25–64  ·  view source on GitHub ↗
(orgName string)

Source from the content-addressed store, hash-verified

23}
24
25func (c *Config) loadOrgConfig(orgName string) error {
26 orgRepo, err := git.EnsureRepo(c.fs, "admin/org-"+orgName)
27 if err != nil {
28 return err
29 }
30
31 err = orgRepo.Checkout(c.orgRepos[orgName])
32 if err != nil {
33 return err
34 }
35
36 data, err := orgRepo.GetFile("config.yml")
37 if err != nil {
38 return err
39 }
40
41 orgConfig, err := models.ParseOrgConfig(data)
42 if err != nil {
43 return err
44 }
45
46 c.Orgs[orgName].Admin = append(c.Orgs[orgName].Admin, orgConfig.Admin...)
47 c.Orgs[orgName].Write = append(c.Orgs[orgName].Write, orgConfig.Write...)
48 c.Orgs[orgName].Read = append(c.Orgs[orgName].Read, orgConfig.Read...)
49
50 if c.Options.OrgConfigRepos {
51 for repoName, repo := range orgConfig.Repos {
52 // If it's already defined, skip it.
53 //
54 // TODO: this should throw a validation error
55 if _, ok := c.Orgs[orgName].Repos[repoName]; ok {
56 continue
57 }
58
59 c.Orgs[orgName].Repos[repoName] = repo
60 }
61 }
62
63 return nil
64}

Callers 1

loadOrgConfigsMethod · 0.95

Calls 4

EnsureRepoFunction · 0.92
ParseOrgConfigFunction · 0.92
CheckoutMethod · 0.80
GetFileMethod · 0.80

Tested by

no test coverage detected