Create generates a new token in the database
(db *gorm.DB, userID int, kind string)
| 38 | |
| 39 | // Create generates a new token in the database |
| 40 | func Create(db *gorm.DB, userID int, kind string) (database.Token, error) { |
| 41 | val, err := generateRandom(16) |
| 42 | if err != nil { |
| 43 | return database.Token{}, errors.Wrap(err, "generating random bytes") |
| 44 | } |
| 45 | |
| 46 | token := database.Token{ |
| 47 | UserID: userID, |
| 48 | Value: val, |
| 49 | Type: kind, |
| 50 | } |
| 51 | if err := db.Save(&token).Error; err != nil { |
| 52 | return database.Token{}, errors.Wrap(err, "creating a token for unsubscribing") |
| 53 | } |
| 54 | |
| 55 | return token, nil |
| 56 | } |