first commit
This commit is contained in:
89
internal/repositories/center.go
Normal file
89
internal/repositories/center.go
Normal file
@ -0,0 +1,89 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"learnsteam/cslms-api/internal/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type centerRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewCenterRepository(db *gorm.DB) CenterRepository {
|
||||
return ¢erRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
type CenterRepository interface {
|
||||
List(string, int, int) (*[]models.Center, error)
|
||||
Total(string) (int64, error)
|
||||
Find(int64) (*models.Center, error)
|
||||
FindByTitle(string) (*models.Center, error)
|
||||
Create(*models.Center) (*models.Center, error)
|
||||
Update(*models.Center) (*models.Center, error)
|
||||
Delete(int64) error
|
||||
}
|
||||
|
||||
func (r *centerRepository) List(q string, page int, limit int) (*[]models.Center, error) {
|
||||
var centers *[]models.Center
|
||||
var err error
|
||||
offset := limit * (page - 1)
|
||||
fmt.Println("q", q)
|
||||
if q != "" {
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("center_title ASC").Where("center_title LIKE ? OR center_name LIKE ?", "%"+q+"%", "%"+q+"%").Find(¢ers).Error
|
||||
} else {
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("center_title ASC").Find(¢ers).Error
|
||||
}
|
||||
return centers, err
|
||||
}
|
||||
|
||||
func (r *centerRepository) Total(q string) (int64, error) {
|
||||
var total int64
|
||||
var err error
|
||||
if q != "" {
|
||||
err = r.DB.Model(&models.Center{}).Where("center_title LIKE ? OR center_name LIKE ?", "%"+q+"%", "%"+q+"%").Count(&total).Error
|
||||
} else {
|
||||
err = r.DB.Model(&models.Center{}).Count(&total).Error
|
||||
}
|
||||
|
||||
return total, err
|
||||
}
|
||||
|
||||
func (r *centerRepository) Find(id int64) (*models.Center, error) {
|
||||
var center *models.Center
|
||||
err := r.DB.Where("id = ?", id).First(¢er).Error
|
||||
return center, err
|
||||
}
|
||||
|
||||
func (r *centerRepository) FindByTitle(center_title string) (*models.Center, error) {
|
||||
var center *models.Center
|
||||
err := r.DB.Where("center_title = ?", center_title).First(¢er).Error
|
||||
return center, err
|
||||
}
|
||||
|
||||
func (r *centerRepository) Create(center *models.Center) (*models.Center, error) {
|
||||
err := r.DB.Create(¢er).Error
|
||||
return center, err
|
||||
}
|
||||
|
||||
func (r *centerRepository) Update(center *models.Center) (*models.Center, error) {
|
||||
var row *models.Center
|
||||
if err := r.DB.Where("id=?", center.ID).First(&row).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err := r.DB.Model(&row).Select("*").Updates(¢er).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *centerRepository) Delete(id int64) error {
|
||||
var center *models.Center
|
||||
if err := r.DB.Where("id=?", id).First(¢er).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
err := r.DB.Delete(¢er).Error
|
||||
return err
|
||||
}
|
81
internal/repositories/quiz.go
Normal file
81
internal/repositories/quiz.go
Normal file
@ -0,0 +1,81 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"learnsteam/cslms-api/internal/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type quizRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewQuizRepository(db *gorm.DB) QuizRepository {
|
||||
return &quizRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
type QuizRepository interface {
|
||||
List(int64, int, int) (*[]models.Quiz, error)
|
||||
Total(int64) (int64, error)
|
||||
|
||||
Find(int64) (*models.Quiz, error)
|
||||
Create(*models.Quiz) (*models.Quiz, error)
|
||||
Update(*models.Quiz) (*models.Quiz, error)
|
||||
Delete(int64) error
|
||||
}
|
||||
|
||||
func (r *quizRepository) List(quiz_paper_id int64, page int, limit int) (*[]models.Quiz, error) {
|
||||
var quizzes *[]models.Quiz
|
||||
var err error
|
||||
offset := limit * (page - 1)
|
||||
if quiz_paper_id > 0 {
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("vol_no ASC").Where("quiz_paper_id = ?", quiz_paper_id).Find(&quizzes).Error
|
||||
} else {
|
||||
err = r.DB.Offset(offset).Limit(limit).Find(&quizzes).Error
|
||||
}
|
||||
return quizzes, err
|
||||
}
|
||||
|
||||
func (r *quizRepository) Total(quiz_paper_id int64) (int64, error) {
|
||||
var total int64
|
||||
var err error
|
||||
if quiz_paper_id > 0 {
|
||||
err = r.DB.Model(&models.Quiz{}).Where("quiz_paper_id = ?", quiz_paper_id).Count(&total).Error
|
||||
} else {
|
||||
err = r.DB.Model(&models.Quiz{}).Count(&total).Error
|
||||
}
|
||||
|
||||
return total, err
|
||||
}
|
||||
|
||||
func (r *quizRepository) Find(id int64) (*models.Quiz, error) {
|
||||
var quiz *models.Quiz
|
||||
err := r.DB.Where("id = ?", id).First(&quiz).Error
|
||||
return quiz, err
|
||||
}
|
||||
|
||||
func (r *quizRepository) Create(quiz *models.Quiz) (*models.Quiz, error) {
|
||||
err := r.DB.Create(&quiz).Error
|
||||
return quiz, err
|
||||
}
|
||||
|
||||
func (r *quizRepository) Update(quiz *models.Quiz) (*models.Quiz, error) {
|
||||
var row *models.Quiz
|
||||
if err := r.DB.Where("id=?", quiz.ID).First(&row).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err := r.DB.Model(&row).Select("*").Updates(&quiz).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *quizRepository) Delete(id int64) error {
|
||||
var quiz *models.Quiz
|
||||
if err := r.DB.Where("id=?", id).First(&quiz).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
err := r.DB.Delete(&quiz).Error
|
||||
return err
|
||||
}
|
90
internal/repositories/quizpaper.go
Normal file
90
internal/repositories/quizpaper.go
Normal file
@ -0,0 +1,90 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"learnsteam/cslms-api/internal/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type quizPaperRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewQuizPaperRepository(db *gorm.DB) QuizPaperRepository {
|
||||
return &quizPaperRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
type QuizPaperRepository interface {
|
||||
List(string, string, int, int) (*[]models.QuizPaper, error)
|
||||
Total(string, string) (int64, error)
|
||||
|
||||
Find(int64) (*models.QuizPaper, error)
|
||||
Create(*models.QuizPaper) (*models.QuizPaper, error)
|
||||
Update(*models.QuizPaper) (*models.QuizPaper, error)
|
||||
Delete(string) error
|
||||
}
|
||||
|
||||
func (r *quizPaperRepository) List(q string, tag string, page int, limit int) (*[]models.QuizPaper, error) {
|
||||
var quizPapers *[]models.QuizPaper
|
||||
var err error
|
||||
offset := limit * (page - 1)
|
||||
fmt.Println("q", q)
|
||||
if q != "" {
|
||||
fmt.Println(" 1 q", q)
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("created_at DESC").Where("title LIKE ? OR category LIKE ? OR tag LIKE ?", "%"+q+"%", "%"+q+"%", "%"+q+"%").Find(&quizPapers).Error
|
||||
} else if tag != "" {
|
||||
fmt.Println(" tag", tag)
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("created_at DESC").Where("tag LIKE ?", "%"+tag+"%").Find(&quizPapers).Error
|
||||
} else {
|
||||
fmt.Println(" query")
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("created_at DESC").Find(&quizPapers).Error
|
||||
}
|
||||
return quizPapers, err
|
||||
}
|
||||
|
||||
func (r *quizPaperRepository) Total(q string, tag string) (int64, error) {
|
||||
var total int64
|
||||
var err error
|
||||
if q != "" {
|
||||
err = r.DB.Model(&models.QuizPaper{}).Where("title LIKE ? OR category LIKE ? OR tag LIKE ?", "%"+q+"%", "%"+q+"%", "%"+q+"%").Count(&total).Error
|
||||
} else if tag != "" {
|
||||
err = r.DB.Model(&models.QuizPaper{}).Where("tag LIKE ?", "%"+tag+"%").Count(&total).Error
|
||||
} else {
|
||||
err = r.DB.Model(&models.QuizPaper{}).Count(&total).Error
|
||||
}
|
||||
|
||||
return total, err
|
||||
}
|
||||
|
||||
func (r *quizPaperRepository) Find(id int64) (*models.QuizPaper, error) {
|
||||
var quizPaper *models.QuizPaper
|
||||
err := r.DB.Where("id = ?", id).First(&quizPaper).Error
|
||||
return quizPaper, err
|
||||
}
|
||||
|
||||
func (r *quizPaperRepository) Create(quizPaper *models.QuizPaper) (*models.QuizPaper, error) {
|
||||
err := r.DB.Create(&quizPaper).Error
|
||||
return quizPaper, err
|
||||
}
|
||||
|
||||
func (r *quizPaperRepository) Update(quizPaper *models.QuizPaper) (*models.QuizPaper, error) {
|
||||
var row *models.QuizPaper
|
||||
if err := r.DB.Where("id=?", quizPaper.ID).First(&row).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err := r.DB.Model(&row).Select("*").Updates(&quizPaper).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *quizPaperRepository) Delete(id string) error {
|
||||
var quizPaper *models.QuizPaper
|
||||
if err := r.DB.Where("id=?", id).First(&quizPaper).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
err := r.DB.Delete(&quizPaper).Error
|
||||
return err
|
||||
}
|
79
internal/repositories/token.go
Normal file
79
internal/repositories/token.go
Normal file
@ -0,0 +1,79 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
config "learnsteam/cslms-api/configs"
|
||||
"learnsteam/cslms-api/internal/models"
|
||||
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type tokenRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewTokenRepository(db *gorm.DB) TokenRepository {
|
||||
return &tokenRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
type TokenRepository interface {
|
||||
Generate(int64, int64, string) (string, error)
|
||||
Find(int64) (*models.Token, error)
|
||||
FindByRefreshToken(int64, string) (*models.Token, error)
|
||||
Create(*models.Token) (*models.Token, error)
|
||||
Update(*models.Token) (*models.Token, error)
|
||||
Delete(string) error
|
||||
}
|
||||
|
||||
func (s *tokenRepository) Generate(user_id int64, expire_at int64, role string) (string, error) {
|
||||
fmt.Println(user_id, role)
|
||||
claims := jwt.MapClaims{}
|
||||
claims["authorized"] = true
|
||||
claims["sub"] = user_id
|
||||
claims["exp"] = expire_at
|
||||
claims["role"] = role
|
||||
at := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
|
||||
token, err := at.SignedString([]byte(config.SECRET_KEY))
|
||||
|
||||
fmt.Println(token)
|
||||
return token, err
|
||||
}
|
||||
|
||||
func (r *tokenRepository) Find(id int64) (*models.Token, error) {
|
||||
var token *models.Token
|
||||
err := r.DB.Where("id = ?", id).First(&token).Error
|
||||
return token, err
|
||||
}
|
||||
|
||||
func (r *tokenRepository) FindByRefreshToken(user_id int64, refreshToken string) (*models.Token, error) {
|
||||
var token *models.Token
|
||||
err := r.DB.Where("user_id = ? AND refresh_token = ?", user_id, refreshToken).First(&token).Error
|
||||
return token, err
|
||||
}
|
||||
|
||||
func (r *tokenRepository) Create(token *models.Token) (*models.Token, error) {
|
||||
err := r.DB.Create(&token).Error
|
||||
return token, err
|
||||
}
|
||||
|
||||
func (r *tokenRepository) Update(token *models.Token) (*models.Token, error) {
|
||||
var row *models.Token
|
||||
if err := r.DB.Where("id=?", token.ID).First(&row).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err := r.DB.Model(&row).Select("*").Updates(&token).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *tokenRepository) Delete(id string) error {
|
||||
var token *models.Token
|
||||
if err := r.DB.Where("id=?", id).First(&token).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
err := r.DB.Delete(&token).Error
|
||||
return err
|
||||
}
|
90
internal/repositories/user.go
Normal file
90
internal/repositories/user.go
Normal file
@ -0,0 +1,90 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"learnsteam/cslms-api/internal/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type userRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewUserRepository(db *gorm.DB) UserRepository {
|
||||
return &userRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
type UserRepository interface {
|
||||
List(string, int, int) (*[]models.User, error)
|
||||
Total(string) (int64, error)
|
||||
Find(int64) (*models.User, error)
|
||||
FindByUsername(string) (*models.User, error)
|
||||
Create(*models.User) (*models.User, error)
|
||||
Update(*models.User) (*models.User, error)
|
||||
Delete(string) error
|
||||
}
|
||||
|
||||
func (r *userRepository) List(q string, page int, limit int) (*[]models.User, error) {
|
||||
var users *[]models.User
|
||||
var err error
|
||||
offset := limit * (page - 1)
|
||||
fmt.Println("q", q)
|
||||
if q != "" {
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("last_name ASC, first_name ASC").Where("user_role = ?", "member").Where("name LIKE ? OR user_name LIKE ?", "%"+q+"%", "%"+q+"%").Find(&users).Error
|
||||
} else {
|
||||
fmt.Println(" query")
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("last_name ASC, first_name ASC").Where("user_role = ?", "member").Find(&users).Error
|
||||
}
|
||||
return users, err
|
||||
}
|
||||
|
||||
func (r *userRepository) Total(q string) (int64, error) {
|
||||
var total int64
|
||||
var err error
|
||||
if q != "" {
|
||||
err = r.DB.Model(&models.User{}).Where("user_role = ?", "member").Where("name LIKE ? OR user_name LIKE ?", "%"+q+"%", "%"+q+"%").Count(&total).Error
|
||||
} else {
|
||||
err = r.DB.Model(&models.User{}).Where("user_role = ?", "member").Count(&total).Error
|
||||
}
|
||||
|
||||
return total, err
|
||||
}
|
||||
|
||||
func (r *userRepository) Find(id int64) (*models.User, error) {
|
||||
var user *models.User
|
||||
err := r.DB.Where("id = ?", id).First(&user).Error
|
||||
return user, err
|
||||
}
|
||||
|
||||
func (r *userRepository) FindByUsername(username string) (*models.User, error) {
|
||||
var user *models.User
|
||||
err := r.DB.Where("user_name = ?", username).First(&user).Error
|
||||
return user, err
|
||||
}
|
||||
|
||||
func (r *userRepository) Create(user *models.User) (*models.User, error) {
|
||||
err := r.DB.Create(&user).Error
|
||||
return user, err
|
||||
}
|
||||
|
||||
func (r *userRepository) Update(user *models.User) (*models.User, error) {
|
||||
var row *models.User
|
||||
if err := r.DB.Where("id=?", user.ID).First(&row).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err := r.DB.Model(&row).Select("*").Updates(&user).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *userRepository) Delete(id string) error {
|
||||
var user *models.User
|
||||
if err := r.DB.Where("id=?", id).First(&user).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
err := r.DB.Delete(&user).Error
|
||||
return err
|
||||
}
|
89
internal/repositories/userquiz.go
Normal file
89
internal/repositories/userquiz.go
Normal file
@ -0,0 +1,89 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"learnsteam/cslms-api/internal/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type userQuizRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewUserQuizRepository(db *gorm.DB) UserQuizRepository {
|
||||
return &userQuizRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
type UserQuizRepository interface {
|
||||
List(int64, int, int) (*[]models.UserQuiz, error)
|
||||
Total(int64) (int64, error)
|
||||
|
||||
Find(int64) (*models.UserQuiz, error)
|
||||
Create(*models.UserQuiz) (*models.UserQuiz, error)
|
||||
Insert([]models.UserQuiz) ([]models.UserQuiz, error)
|
||||
Update(*models.UserQuiz) (*models.UserQuiz, error)
|
||||
Delete(int64) error
|
||||
}
|
||||
|
||||
func (r *userQuizRepository) List(user_quiz_paper_id int64, page int, limit int) (*[]models.UserQuiz, error) {
|
||||
var rows *[]models.UserQuiz
|
||||
var err error
|
||||
offset := limit * (page - 1)
|
||||
if user_quiz_paper_id > 0 {
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("vol_no ASC").Where("user_quiz_paper_id = ?", user_quiz_paper_id).Find(&rows).Error
|
||||
} else {
|
||||
err = r.DB.Offset(offset).Limit(limit).Find(&rows).Error
|
||||
}
|
||||
return rows, err
|
||||
}
|
||||
|
||||
func (r *userQuizRepository) Total(user_quiz_paper_id int64) (int64, error) {
|
||||
var total int64
|
||||
var err error
|
||||
if user_quiz_paper_id > 0 {
|
||||
err = r.DB.Model(&models.UserQuiz{}).Where("user_quiz_paper_id = ?", user_quiz_paper_id).Count(&total).Error
|
||||
} else {
|
||||
err = r.DB.Model(&models.UserQuiz{}).Count(&total).Error
|
||||
}
|
||||
|
||||
return total, err
|
||||
}
|
||||
|
||||
func (r *userQuizRepository) Find(id int64) (*models.UserQuiz, error) {
|
||||
var row *models.UserQuiz
|
||||
err := r.DB.Where("id = ?", id).First(&row).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *userQuizRepository) Create(row *models.UserQuiz) (*models.UserQuiz, error) {
|
||||
err := r.DB.Create(&row).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *userQuizRepository) Insert(items []models.UserQuiz) ([]models.UserQuiz, error) {
|
||||
fmt.Println(items)
|
||||
err := r.DB.Create(&items).Error
|
||||
return items, err
|
||||
}
|
||||
|
||||
func (r *userQuizRepository) Update(quiz *models.UserQuiz) (*models.UserQuiz, error) {
|
||||
var row *models.UserQuiz
|
||||
if err := r.DB.Where("id=?", quiz.ID).First(&row).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err := r.DB.Model(&row).Select("*").Updates(&quiz).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *userQuizRepository) Delete(id int64) error {
|
||||
var row *models.UserQuiz
|
||||
if err := r.DB.Where("id=?", id).First(&row).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
err := r.DB.Delete(&row).Error
|
||||
return err
|
||||
}
|
87
internal/repositories/userquizpaper.go
Normal file
87
internal/repositories/userquizpaper.go
Normal file
@ -0,0 +1,87 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"learnsteam/cslms-api/internal/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type userQuizPaperRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewUserQuizPaperRepository(db *gorm.DB) UserQuizPaperRepository {
|
||||
return &userQuizPaperRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
type UserQuizPaperRepository interface {
|
||||
List(string, int, int) (*[]models.UserQuizPaper, error)
|
||||
Total(string) (int64, error)
|
||||
|
||||
Find(int64) (*models.UserQuizPaper, error)
|
||||
Create(*models.UserQuizPaper) (*models.UserQuizPaper, error)
|
||||
Insert([]models.UserQuizPaper) ([]models.UserQuizPaper, error)
|
||||
Update(*models.UserQuizPaper) (*models.UserQuizPaper, error)
|
||||
Delete(string) error
|
||||
}
|
||||
|
||||
func (r *userQuizPaperRepository) List(q string, page int, limit int) (*[]models.UserQuizPaper, error) {
|
||||
var userQuizPapers *[]models.UserQuizPaper
|
||||
var err error
|
||||
offset := limit * (page - 1)
|
||||
if q != "" {
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("created_at DESC").Where("subject LIKE ? OR program LIKE ? OR name LIKE ?", "%"+q+"%", "%"+q+"%", "%"+q+"%").Find(&userQuizPapers).Error
|
||||
} else {
|
||||
err = r.DB.Offset(offset).Limit(limit).Order("created_at DESC").Find(&userQuizPapers).Error
|
||||
}
|
||||
return userQuizPapers, err
|
||||
}
|
||||
|
||||
func (r *userQuizPaperRepository) Total(q string) (int64, error) {
|
||||
var total int64
|
||||
var err error
|
||||
if q != "" {
|
||||
err = r.DB.Model(&models.UserQuizPaper{}).Where("subject LIKE ? OR program LIKE ? OR name LIKE ?", "%"+q+"%", "%"+q+"%", "%"+q+"%").Count(&total).Error
|
||||
} else {
|
||||
err = r.DB.Model(&models.UserQuizPaper{}).Count(&total).Error
|
||||
}
|
||||
|
||||
return total, err
|
||||
}
|
||||
|
||||
func (r *userQuizPaperRepository) Find(id int64) (*models.UserQuizPaper, error) {
|
||||
var userQuizPaper *models.UserQuizPaper
|
||||
err := r.DB.Where("id = ?", id).First(&userQuizPaper).Error
|
||||
return userQuizPaper, err
|
||||
}
|
||||
|
||||
func (r *userQuizPaperRepository) Create(userQuizPaper *models.UserQuizPaper) (*models.UserQuizPaper, error) {
|
||||
err := r.DB.Create(&userQuizPaper).Error
|
||||
return userQuizPaper, err
|
||||
}
|
||||
|
||||
func (r *userQuizPaperRepository) Insert(items []models.UserQuizPaper) ([]models.UserQuizPaper, error) {
|
||||
err := r.DB.Create(&items).Error
|
||||
return items, err
|
||||
}
|
||||
|
||||
func (r *userQuizPaperRepository) Update(userQuizPaper *models.UserQuizPaper) (*models.UserQuizPaper, error) {
|
||||
var row *models.UserQuizPaper
|
||||
if err := r.DB.Where("id=?", userQuizPaper.ID).First(&row).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err := r.DB.Model(&row).Select("*").Updates(&userQuizPaper).Error
|
||||
return row, err
|
||||
}
|
||||
|
||||
func (r *userQuizPaperRepository) Delete(id string) error {
|
||||
var userQuizPaper *models.UserQuizPaper
|
||||
if err := r.DB.Where("id=?", id).First(&userQuizPaper).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
err := r.DB.Delete(&userQuizPaper).Error
|
||||
return err
|
||||
}
|
Reference in New Issue
Block a user