add methods in Repository and Model for importing data
This commit is contained in:
@@ -12,6 +12,29 @@ type MailAccountRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *MailAccountRepository) Import(dtos models.MailAccountDTOList) {
|
||||
slog.Info("MailAccountRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "profile", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.MailAccount{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewMailAccountRepository(db *gorm.DB) *MailAccountRepository {
|
||||
repository := &MailAccountRepository{db: db}
|
||||
return repository
|
||||
|
||||
@@ -13,6 +13,29 @@ type MediaActorRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *MediaActorRepository) Import(dtos models.MediaActorDTOList) {
|
||||
slog.Info("MediaActorRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "video", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.MediaActor{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewMediaActorRepository(db *gorm.DB) *MediaActorRepository {
|
||||
repo := &MediaActorRepository{db: db}
|
||||
return repo
|
||||
|
||||
@@ -13,6 +13,29 @@ type MediaActorFileRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *MediaActorFileRepository) Import(dtos models.MediaActorFileDTOList) {
|
||||
slog.Info("MediaActorFileRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "video", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.MediaActorFile{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewMediaActorFileRepository(db *gorm.DB) *MediaActorFileRepository {
|
||||
repo := &MediaActorFileRepository{db: db}
|
||||
return repo
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"kontor-api-gin/internal/models"
|
||||
"log/slog"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type MediaArticleRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *MediaArticleRepository) Import(dtos models.MediaArticleDTOList) {
|
||||
slog.Info("MediaArticleRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "profile", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.MediaArticle{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewMediaArticleRepository(db *gorm.DB) *MediaArticleRepository {
|
||||
repo := &MediaArticleRepository{db: db}
|
||||
return repo
|
||||
}
|
||||
|
||||
func (repository *MediaArticleRepository) FindAll(context context.Context) ([]models.MediaArticle, error) {
|
||||
var articles []models.MediaArticle
|
||||
|
||||
result := repository.db.Find(&articles)
|
||||
slog.Info("MediaArticleRepository#FindAll", "count", result.RowsAffected)
|
||||
|
||||
return articles, nil
|
||||
}
|
||||
|
||||
func (repository *MediaArticleRepository) GetById(context context.Context, id string) (*models.MediaArticle, error) {
|
||||
var file = models.MediaArticle{ID: id}
|
||||
slog.Info("MediaArticleRepository#GetById", "id", id)
|
||||
result := repository.db.First(&file)
|
||||
if result.Error != nil {
|
||||
slog.Info("MediaArticleRepository#GetById", "error", result.Error.Error())
|
||||
return nil, result.Error
|
||||
}
|
||||
return &file, result.Error
|
||||
}
|
||||
|
||||
func (repository *MediaArticleRepository) Add(context context.Context, url string) (*models.MediaArticle, error) {
|
||||
slog.Info("MediaArticleRepository#Add", "url", url)
|
||||
return nil, fmt.Errorf("unimplemented method MediaArticleRepository#Add")
|
||||
}
|
||||
|
||||
func (repository *MediaArticleRepository) Delete(context context.Context, id string) error {
|
||||
var file = models.MediaArticle{ID: id}
|
||||
slog.Info("MediaArticleRepository#Delete", "id", id)
|
||||
result := repository.db.Delete(&file)
|
||||
if result.Error != nil {
|
||||
slog.Info("MediaArticleRepository#Delete", "error", result.Error.Error())
|
||||
}
|
||||
return result.Error
|
||||
}
|
||||
@@ -13,6 +13,29 @@ type MediaFileRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *MediaFileRepository) Import(dtos models.MediaFileDTOList) {
|
||||
slog.Info("MediaFileRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "video", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.MediaFile{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewMediaFileRepository(db *gorm.DB) *MediaFileRepository {
|
||||
repo := &MediaFileRepository{db: db}
|
||||
return repo
|
||||
|
||||
@@ -17,6 +17,29 @@ type MediaLoFiRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *MediaLoFiRepository) Import(dtos models.MediaLoFiDTOList) {
|
||||
slog.Info("MediaLoFiRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "video", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.MediaLoFi{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewMediaLoFiRepository(db *gorm.DB) *MediaLoFiRepository {
|
||||
repo := &MediaLoFiRepository{db: db}
|
||||
return repo
|
||||
|
||||
@@ -17,6 +17,29 @@ type MediaMusicRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *MediaMusicRepository) Import(dtos models.MediaMusicDTOList) {
|
||||
slog.Info("MediaMusicRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "video", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.MediaMusic{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewMediaMusicRepository(db *gorm.DB) *MediaMusicRepository {
|
||||
repo := &MediaMusicRepository{db: db}
|
||||
return repo
|
||||
|
||||
+23
@@ -17,6 +17,29 @@ type MediaVideoRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *MediaVideoRepository) Import(dtos models.MediaVideoDTOList) {
|
||||
slog.Info("MediaVideoRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "video", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.MediaVideo{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewMediaVideoRepository(db *gorm.DB) *MediaVideoRepository {
|
||||
repo := &MediaVideoRepository{db: db}
|
||||
return repo
|
||||
@@ -12,6 +12,29 @@ type TokenRepository struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (repository *TokenRepository) Import(dtos models.TokenDTOList) {
|
||||
slog.Info("TokenRepository#Import")
|
||||
for index, dto := range dtos {
|
||||
slog.Info("importing", "index", index, "video", dto)
|
||||
model := dto.ConvertDTOToModel()
|
||||
existing_item := models.Token{ID: dto.ID}
|
||||
result_existing := repository.db.First(&existing_item)
|
||||
if result_existing.Error != nil {
|
||||
slog.Info("check existing id: not found - inserting")
|
||||
result := repository.db.Create(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during import", "error", result.Error.Error())
|
||||
}
|
||||
} else {
|
||||
slog.Info("check existing id: found - updating")
|
||||
result := repository.db.Save(&model)
|
||||
if result.Error != nil {
|
||||
slog.Info("error during updating", "error", result.Error.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NewTokenRepository(db *gorm.DB) *TokenRepository {
|
||||
repository := &TokenRepository{db: db}
|
||||
return repository
|
||||
|
||||
Reference in New Issue
Block a user