Skip to content

Commit c34469e

Browse files
authored
Merge pull request #57 from arran4/codex/ensure-repo-creation-on-login-and-improve-logging
Fix login repo setup and improve logging
2 parents 417e632 + ab77461 commit c34469e

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

authHandlers.go

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,33 @@ var (
4343
// ensureRepo checks for the bookmarks repository and creates it with
4444
// some default content when missing.
4545
func ensureRepo(ctx context.Context, p Provider, user string, token *oauth2.Token) error {
46-
if err := p.CreateBookmarks(ctx, user, token, "main", defaultBookmarks); err != nil {
47-
if errors.Is(err, ErrRepoNotFound) {
48-
if err := p.CreateRepo(ctx, user, token, RepoName); err != nil {
49-
return err
50-
}
51-
return p.CreateBookmarks(ctx, user, token, "main", defaultBookmarks)
46+
log.Printf("checking repo for %s", user)
47+
48+
exists, err := p.RepoExists(ctx, user, token, RepoName)
49+
if err != nil {
50+
log.Printf("repo check error: %v", err)
51+
return err
52+
}
53+
if !exists {
54+
log.Printf("creating repo %s for %s", RepoName, user)
55+
if err := p.CreateRepo(ctx, user, token, RepoName); err != nil {
56+
log.Printf("create repo: %v", err)
57+
return err
5258
}
59+
}
60+
61+
b, _, err := p.GetBookmarks(ctx, user, "", token)
62+
if err != nil {
63+
log.Printf("get bookmarks: %v", err)
5364
return err
5465
}
66+
if b == "" {
67+
log.Printf("creating initial bookmarks for %s", user)
68+
if err := p.CreateBookmarks(ctx, user, token, "main", defaultBookmarks); err != nil {
69+
log.Printf("create bookmarks: %v", err)
70+
return err
71+
}
72+
}
5573
return nil
5674
}
5775

0 commit comments

Comments
 (0)