add driversLicence model
This commit is contained in:
25
internal/repositories/drivers_licence_repository.go
Normal file
25
internal/repositories/drivers_licence_repository.go
Normal file
@@ -0,0 +1,25 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"GoMembership/internal/database"
|
||||
"GoMembership/internal/models"
|
||||
)
|
||||
|
||||
type DriversLicenceInterface interface {
|
||||
FindCategoryByName(categoryName string) (models.LicenceCategory, error)
|
||||
FindCategoriesByIDs(ids []uint) ([]models.LicenceCategory, error)
|
||||
}
|
||||
|
||||
type DriversLicenceRepository struct{}
|
||||
|
||||
func (r *DriversLicenceRepository) FindCategoriesByIDs(ids []uint) ([]models.LicenceCategory, error) {
|
||||
var categories []models.LicenceCategory
|
||||
err := database.DB.Where("id IN ?", ids).Find(&categories).Error
|
||||
return categories, err
|
||||
}
|
||||
|
||||
func (r *DriversLicenceRepository) FindCategoryByName(categoryName string) (models.LicenceCategory, error) {
|
||||
var category models.LicenceCategory
|
||||
err := database.DB.Where("category = ?", categoryName).First(&category).Error
|
||||
return category, err
|
||||
}
|
||||
@@ -68,12 +68,10 @@ func (ur *UserRepository) UpdateUser(user *models.User) (*models.User, error) {
|
||||
func (ur *UserRepository) GetUsers(where map[string]interface{}) (*[]models.User, error) {
|
||||
var users []models.User
|
||||
result := database.DB.
|
||||
Preload("Consents").
|
||||
Preload("BankAccount").
|
||||
Preload("Verification").
|
||||
Preload("Membership", func(db *gorm.DB) *gorm.DB {
|
||||
return db.Preload("SubscriptionModel")
|
||||
}).Where(where).Find(&users)
|
||||
Preload(clause.Associations).
|
||||
Preload("Membership.SubscriptionModel").
|
||||
Preload("DriversLicence.LicenceCategories").
|
||||
Where(where).Find(&users)
|
||||
if result.Error != nil {
|
||||
if result.Error == gorm.ErrRecordNotFound {
|
||||
return nil, gorm.ErrRecordNotFound
|
||||
@@ -86,12 +84,10 @@ func (ur *UserRepository) GetUsers(where map[string]interface{}) (*[]models.User
|
||||
func (ur *UserRepository) GetUserByID(userID *uint) (*models.User, error) {
|
||||
var user models.User
|
||||
result := database.DB.
|
||||
Preload("Consents").
|
||||
Preload("BankAccount").
|
||||
Preload("Verification").
|
||||
Preload("Membership", func(db *gorm.DB) *gorm.DB {
|
||||
return db.Preload("SubscriptionModel")
|
||||
}).First(&user, userID)
|
||||
Preload(clause.Associations).
|
||||
Preload("Membership.SubscriptionModel").
|
||||
Preload("DriversLicence.LicenceCategories").
|
||||
First(&user, userID)
|
||||
if result.Error != nil {
|
||||
if result.Error == gorm.ErrRecordNotFound {
|
||||
return nil, gorm.ErrRecordNotFound
|
||||
|
||||
Reference in New Issue
Block a user