From 3aa16c6d12edc76d4912cc0d72a6963a5c613f26 Mon Sep 17 00:00:00 2001 From: Ben Visness Date: Wed, 11 May 2022 23:39:43 -0500 Subject: [PATCH] Add owners to seeded projects --- src/hmndata/project_helper.go | 11 +++++----- src/migration/seed.go | 39 +++++++++++++++++++++++++++++------ src/website/blogs.go | 2 +- src/website/projects.go | 2 +- 4 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/hmndata/project_helper.go b/src/hmndata/project_helper.go index f7cbd27d..049bd48f 100644 --- a/src/hmndata/project_helper.go +++ b/src/hmndata/project_helper.go @@ -150,7 +150,7 @@ func FetchProjects( for i, p := range projectRows { projectIds[i] = p.Project.ID } - projectOwners, err := FetchMultipleProjectsOwners(ctx, tx, currentUser, projectIds) + projectOwners, err := FetchMultipleProjectsOwners(ctx, tx, projectIds) if err != nil { return nil, err } @@ -316,7 +316,6 @@ type ProjectOwners struct { func FetchMultipleProjectsOwners( ctx context.Context, dbConn db.ConnOrTx, - currentUser *models.User, projectIds []int, ) ([]ProjectOwners, error) { perf := perf.ExtractPerf(ctx) @@ -359,8 +358,9 @@ func FetchMultipleProjectsOwners( userIds = append(userIds, userProject.UserID) } } - users, err := FetchUsers(ctx, tx, currentUser, UsersQuery{ - UserIDs: userIds, + users, err := FetchUsers(ctx, tx, nil, UsersQuery{ + UserIDs: userIds, + AnyStatus: true, }) if err != nil { return nil, oops.New(err, "failed to fetch users for projects") @@ -408,14 +408,13 @@ func FetchMultipleProjectsOwners( func FetchProjectOwners( ctx context.Context, dbConn db.ConnOrTx, - currentUser *models.User, projectId int, ) ([]*models.User, error) { perf := perf.ExtractPerf(ctx) perf.StartBlock("SQL", "Fetch owners for project") defer perf.EndBlock() - projectOwners, err := FetchMultipleProjectsOwners(ctx, dbConn, currentUser, []int{projectId}) + projectOwners, err := FetchMultipleProjectsOwners(ctx, dbConn, []int{projectId}) if err != nil { return nil, err } diff --git a/src/migration/seed.go b/src/migration/seed.go index 02728a29..ec799c7b 100644 --- a/src/migration/seed.go +++ b/src/migration/seed.go @@ -62,7 +62,7 @@ func BareMinimumSeed() *models.Project { defer tx.Rollback(ctx) fmt.Println("Creating HMN project...") - hmn := seedProject(ctx, tx, seedHMN) + hmn := seedProject(ctx, tx, seedHMN, nil) utils.Must0(tx.Commit(ctx)) @@ -101,11 +101,21 @@ func SampleSeed() { users := []*models.User{alice, bob, charlie, spammer} fmt.Println("Creating starter projects...") - hero := seedProject(ctx, tx, seedHandmadeHero) - fourcoder := seedProject(ctx, tx, seed4coder) - for i := 0; i < 3; i++ { + hero := seedProject(ctx, tx, seedHandmadeHero, []*models.User{admin}) + fourcoder := seedProject(ctx, tx, seed4coder, []*models.User{bob}) + for i := 0; i < 5; i++ { name := fmt.Sprintf("%s %s", lorem.Word(1, 10), lorem.Word(1, 10)) slug := strings.ReplaceAll(strings.ToLower(name), " ", "-") + + possibleOwners := []*models.User{alice, bob, charlie} + var owners []*models.User + for ownerIdx, owner := range possibleOwners { + mask := (i % ((1 << len(possibleOwners)) - 1)) + 1 + if (1<