welcome: init group memberships for first create (#115)

* rename createAdminAccount to createAccount

* welcome: call memberships init on first user

* auth: add http endpoints to allowed return addresses

* memberships: make init user member of groups as well

---------

Co-authored-by: Giorgi Lekveishvili <lekva@gl-mbp-m1-max.local>
diff --git a/core/auth/memberships/main.go b/core/auth/memberships/main.go
index 1358bb3..4dae1a9 100644
--- a/core/auth/memberships/main.go
+++ b/core/auth/memberships/main.go
@@ -116,6 +116,10 @@
 		if _, err := tx.Exec(query, owner, g); err != nil {
 			return err
 		}
+		query = `INSERT INTO user_to_group (username, group_name) VALUES (?, ?)`
+		if _, err := tx.Exec(query, owner, g); err != nil {
+			return err
+		}
 	}
 	return tx.Commit()
 }
diff --git a/core/auth/memberships/store_test.go b/core/auth/memberships/store_test.go
index d55b3f1..8afb6bc 100644
--- a/core/auth/memberships/store_test.go
+++ b/core/auth/memberships/store_test.go
@@ -27,6 +27,13 @@
 	if len(groups) != 2 {
 		t.Fatalf("Expected two groups, got: %s", groups)
 	}
+	groups, err = store.GetGroupsUserBelongsTo("admin")
+	if err != nil {
+		t.Fatal(err)
+	}
+	if len(groups) != 2 {
+		t.Fatalf("Expected two groups, got: %s", groups)
+	}
 }
 
 func TestInitFailure(t *testing.T) {