add setup insert methods
This commit is contained in:
@@ -44,50 +44,54 @@ type Module struct {
|
||||
// ModulesFlags ModulesFlags `json:"flags,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Module) ToDB(dest *db.Module) bool {
|
||||
func (m *Module) ToDB(dest **db.Module) bool {
|
||||
if dest == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
dest.ID = m.ID
|
||||
dest.Title = m.Title
|
||||
dest.Description = m.Description
|
||||
dest.URL = m.URL
|
||||
dest.License = m.License
|
||||
dest.Readme = m.Readme
|
||||
dest.Bugs = m.Bugs
|
||||
dest.Changelog = m.Changelog
|
||||
dest.Version = m.Version
|
||||
dest.Socket = m.Socket
|
||||
dest.Manifest = m.Manifest
|
||||
dest.Download = m.Download
|
||||
dest.Protected = m.Protected
|
||||
dest.Exclusive = m.Exclusive
|
||||
dest.PersistentStorage = m.PersistentStorage
|
||||
dest.CoreTranslation = m.CoreTranslation
|
||||
dest.Library = m.Library
|
||||
dest.Availability = m.Availability
|
||||
dest.Locked = m.Locked
|
||||
dest.Owned = m.Owned
|
||||
dest.HasStorage = m.HasStorage
|
||||
dest.Active = m.Active
|
||||
module := &db.Module{
|
||||
ID: m.ID,
|
||||
Title: m.Title,
|
||||
Description: m.Description,
|
||||
URL: m.URL,
|
||||
License: m.License,
|
||||
Readme: m.Readme,
|
||||
Bugs: m.Bugs,
|
||||
Changelog: m.Changelog,
|
||||
Version: m.Version,
|
||||
Socket: m.Socket,
|
||||
Manifest: m.Manifest,
|
||||
Download: m.Download,
|
||||
Protected: m.Protected,
|
||||
Exclusive: m.Exclusive,
|
||||
PersistentStorage: m.PersistentStorage,
|
||||
CoreTranslation: m.CoreTranslation,
|
||||
Library: m.Library,
|
||||
Availability: m.Availability,
|
||||
Locked: m.Locked,
|
||||
Owned: m.Owned,
|
||||
HasStorage: m.HasStorage,
|
||||
Active: m.Active,
|
||||
}
|
||||
|
||||
copy(dest.Scripts, m.Scripts)
|
||||
copy(dest.Esmodules, m.Esmodules)
|
||||
copy(dest.Tags, m.Tags)
|
||||
copy(module.Scripts, m.Scripts)
|
||||
copy(module.Esmodules, m.Esmodules)
|
||||
copy(module.Tags, m.Tags)
|
||||
|
||||
m.Compatibility.ToDB(&dest.Compatibility)
|
||||
m.Relationships.ToDB(&dest.Relationships)
|
||||
m.DocumentTypes.ToDB(&dest.DocumentTypes)
|
||||
m.Compatibility.ToDB(&module.Compatibility)
|
||||
m.Relationships.ToDB(&module.Relationships)
|
||||
m.DocumentTypes.ToDB(&module.DocumentTypes)
|
||||
|
||||
wg := sync.WaitGroup{}
|
||||
go CopySliceToDBParallel(&wg, &dest.Authors, m.Authors)
|
||||
go CopySliceToDBParallel(&wg, &dest.Media, m.Media)
|
||||
go CopySliceToDBParallel(&wg, &dest.Styles, m.Styles)
|
||||
go CopySliceToDBParallel(&wg, &dest.Languages, m.Languages)
|
||||
go CopySliceToDBParallel(&wg, &dest.Packs, m.Packs)
|
||||
go CopySliceToDBParallel(&wg, &dest.PackFolders, m.PackFolders)
|
||||
go CopySliceToDBParallel(&wg, &module.Authors, m.Authors)
|
||||
go CopySliceToDBParallel(&wg, &module.Media, m.Media)
|
||||
go CopySliceToDBParallel(&wg, &module.Styles, m.Styles)
|
||||
go CopySliceToDBParallel(&wg, &module.Languages, m.Languages)
|
||||
go CopySliceToDBParallel(&wg, &module.Packs, m.Packs)
|
||||
go CopySliceToDBParallel(&wg, &module.PackFolders, m.PackFolders)
|
||||
wg.Wait()
|
||||
|
||||
*dest = module
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user