Been too long since i did anything, can't remember what the hell is in all this....

This commit is contained in:
2025-04-15 20:56:21 +01:00
parent 152c5cb18c
commit d7c15141b8
20 changed files with 248 additions and 78 deletions

View File

@@ -60,6 +60,15 @@ func GetSyndicateByID(db *sql.DB, id int) (*models.Syndicate, error) {
return &s, nil
}
func IsSyndicateManager(db *sql.DB, syndicateID, userID int) bool {
var count int
err := db.QueryRow(`
SELECT COUNT(*) FROM syndicates
WHERE id = ? AND owner_id = ?
`, syndicateID, userID).Scan(&count)
return err == nil && count > 0
}
func GetSyndicateMembers(db *sql.DB, syndicateID int) []models.SyndicateMember {
rows, err := db.Query(`
SELECT m.user_id, u.username, m.joined_at
@@ -90,7 +99,7 @@ func IsSyndicateMember(db *sql.DB, syndicateID, userID int) bool {
}
func GetUserByUsername(db *sql.DB, username string) *models.User {
row := db.QueryRow(`SELECT id, username, is_admin FROM users WHERE username = ?`, username)
row := db.QueryRow(`SELECT id, username, is_admin FROM users WHERE username = ?`, username) // ToDo: needs hash
var u models.User
err := row.Scan(&u.Id, &u.Username, &u.IsAdmin)
if err != nil {
@@ -258,3 +267,31 @@ func InviteToSyndicate(db *sql.DB, inviterID, syndicateID int, username string)
`, syndicateID, inviteeID)
return err
}
func GetInviteTokensForSyndicate(db *sql.DB, syndicateID int) []models.SyndicateInviteToken {
rows, err := db.Query(`
SELECT token, invited_by_user_id, accepted_by_user_id, created_at, expires_at, accepted_at
FROM syndicate_invite_tokens
WHERE syndicate_id = ?
ORDER BY created_at DESC
`, syndicateID)
if err != nil {
return nil
}
defer rows.Close()
var tokens []models.SyndicateInviteToken
for rows.Next() {
var t models.SyndicateInviteToken
_ = rows.Scan(
&t.Token,
&t.InvitedByUserID,
&t.AcceptedByUserID,
&t.CreatedAt,
&t.ExpiresAt,
&t.AcceptedAt,
)
tokens = append(tokens, t)
}
return tokens
}