add basic paper model/view/controller
All checks were successful
Go / build (push) Successful in 12m50s
All checks were successful
Go / build (push) Successful in 12m50s
paper weight is missing
This commit is contained in:
82
repositories/paperRepository.go
Normal file
82
repositories/paperRepository.go
Normal file
@@ -0,0 +1,82 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"gorm.io/gorm"
|
||||
|
||||
"git.dynamicdiscord.de/kalipso/zineshop/models"
|
||||
)
|
||||
|
||||
type PaperRepository interface {
|
||||
Create(models.Paper) (models.Paper, error)
|
||||
GetAll() ([]models.Paper, error)
|
||||
GetById(string) (models.Paper, error)
|
||||
//GetByShopItemId(string) (models.Paper, error)
|
||||
Update(models.Paper) (models.Paper, error)
|
||||
DeleteById(string) error
|
||||
}
|
||||
|
||||
type GORMPaperRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewGORMPaperRepository(db *gorm.DB) PaperRepository {
|
||||
return &GORMPaperRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
func (t *GORMPaperRepository) Create(tag models.Paper) (models.Paper, error) {
|
||||
result := t.DB.Create(&tag)
|
||||
|
||||
if result.Error != nil {
|
||||
return models.Paper{}, result.Error
|
||||
}
|
||||
|
||||
return tag, nil
|
||||
}
|
||||
|
||||
func (t *GORMPaperRepository) GetAll() ([]models.Paper, error) {
|
||||
var tags []models.Paper
|
||||
result := t.DB.Find(&tags)
|
||||
|
||||
return tags, result.Error
|
||||
}
|
||||
|
||||
func (t *GORMPaperRepository) GetById(id string) (models.Paper, error) {
|
||||
tagId, err := strconv.Atoi(id)
|
||||
|
||||
if err != nil {
|
||||
return models.Paper{}, err
|
||||
}
|
||||
|
||||
var tag models.Paper
|
||||
result := t.DB.First(&tag, uint(tagId))
|
||||
|
||||
if result.Error != nil {
|
||||
return models.Paper{}, result.Error
|
||||
}
|
||||
|
||||
return tag, nil
|
||||
}
|
||||
|
||||
func (t *GORMPaperRepository) Update(tag models.Paper) (models.Paper, error) {
|
||||
result := t.DB.Save(&tag)
|
||||
if result.Error != nil {
|
||||
return models.Paper{}, result.Error
|
||||
}
|
||||
|
||||
return tag, nil
|
||||
}
|
||||
|
||||
func (t *GORMPaperRepository) DeleteById(id string) error {
|
||||
tagId, err := strconv.Atoi(id)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
result := t.DB.Delete(&models.Paper{}, tagId)
|
||||
return result.Error
|
||||
}
|
||||
@@ -16,6 +16,7 @@ var (
|
||||
Orders OrderRepository
|
||||
Tokens RegisterTokenRepository
|
||||
ConfigOptions ConfigRepository
|
||||
Papers PaperRepository
|
||||
)
|
||||
|
||||
func InitRepositories() {
|
||||
@@ -45,4 +46,5 @@ func InitRepositories() {
|
||||
Orders = NewGORMOrderRepository(db)
|
||||
Tokens = NewGORMRegisterTokenRepository(db)
|
||||
ConfigOptions = NewGORMConfigRepository(db)
|
||||
Papers = NewGORMPaperRepository(db)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user