MCPcopy Index your code
hub / github.com/belak/gitdir / loadUserConfig

Method loadUserConfig

config_user.go:25–66  ·  view source on GitHub ↗
(username string)

Source from the content-addressed store, hash-verified

23}
24
25func (c *Config) loadUserConfig(username string) error {
26 userRepo, err := git.EnsureRepo(c.fs, "admin/user-"+username)
27 if err != nil {
28 return err
29 }
30
31 err = userRepo.Checkout(c.userRepos[username])
32 if err != nil {
33 return err
34 }
35
36 if userRepo.FileExists("config.yml") {
37 data, err := userRepo.GetFile("config.yml")
38 if err != nil {
39 return err
40 }
41
42 userConfig, err := models.ParseUserConfig(data)
43 if err != nil {
44 return err
45 }
46
47 if c.Options.UserConfigKeys {
48 c.Users[username].Keys = append(c.Users[username].Keys, userConfig.Keys...)
49 }
50
51 if c.Options.UserConfigRepos {
52 for repoName, repo := range userConfig.Repos {
53 // If it's already defined, skip it.
54 //
55 // TODO: this should throw a validation error
56 if _, ok := c.Users[username].Repos[repoName]; ok {
57 continue
58 }
59
60 c.Users[username].Repos[repoName] = repo
61 }
62 }
63 }
64
65 return nil
66}

Callers 1

loadUserConfigsMethod · 0.95

Calls 5

EnsureRepoFunction · 0.92
ParseUserConfigFunction · 0.92
CheckoutMethod · 0.80
FileExistsMethod · 0.80
GetFileMethod · 0.80

Tested by

no test coverage detected