Better tracing
Not done yet, still need to add them to just about every other function
This commit is contained in:
parent
83f47d17be
commit
529d106351
13 changed files with 148 additions and 22 deletions
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/rs/zerolog/log"
|
||||
"gitlab.com/mstarongitlab/linstrom/config"
|
||||
"gitlab.com/mstarongitlab/linstrom/storage/cache"
|
||||
"gitlab.com/mstarongitlab/linstrom/util"
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
@ -29,6 +30,7 @@ type Storage struct {
|
|||
}
|
||||
|
||||
func NewStorage(dbUrl string, cache *cache.Cache) (*Storage, error) {
|
||||
defer util.Untrace(util.Trace(&log.Logger))
|
||||
db, err := gorm.Open(postgres.Open(dbUrl), &gorm.Config{
|
||||
Logger: newGormLogger(log.Logger),
|
||||
})
|
||||
|
@ -46,6 +48,7 @@ func NewStorage(dbUrl string, cache *cache.Cache) (*Storage, error) {
|
|||
OutboundJob{},
|
||||
AccessToken{},
|
||||
Emote{},
|
||||
UserInfoField{},
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to apply migrations: %w", err)
|
||||
|
@ -56,6 +59,11 @@ func NewStorage(dbUrl string, cache *cache.Cache) (*Storage, error) {
|
|||
if err = s.insertDefaultRoles(); err != nil {
|
||||
return nil, fmt.Errorf("default roles insertion failed: %w", err)
|
||||
}
|
||||
|
||||
if err = s.insertPlaceholderFile(); err != nil {
|
||||
return nil, fmt.Errorf("placeholder file insertion failed: %w", err)
|
||||
}
|
||||
|
||||
if err = s.insertSelfFromConfig(); err != nil {
|
||||
return nil, fmt.Errorf("self insertion failed: %w", err)
|
||||
}
|
||||
|
@ -64,6 +72,7 @@ func NewStorage(dbUrl string, cache *cache.Cache) (*Storage, error) {
|
|||
}
|
||||
|
||||
func (s *Storage) insertSelfFromConfig() error {
|
||||
defer util.Untrace(util.Trace(&log.Logger))
|
||||
const ServerActorId = "self"
|
||||
|
||||
var err error
|
||||
|
@ -80,7 +89,7 @@ func (s *Storage) insertSelfFromConfig() error {
|
|||
IsSelf: true,
|
||||
Name: config.GlobalConfig.Self.ServerDisplayName,
|
||||
ServerType: REMOTE_SERVER_LINSTROM,
|
||||
// Icon: "", // TODO: Set to server icon media
|
||||
Icon: "placeholder", // TODO: Set to server icon media
|
||||
}).FirstOrCreate(&serverData).Error
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -107,9 +116,6 @@ func (s *Storage) insertSelfFromConfig() error {
|
|||
IsBot: true,
|
||||
// Followers: []string{},
|
||||
// Follows: []string{},
|
||||
// Icon: "", // TODO: Replace with reference to server icon
|
||||
// Background: "", // TODO: Replace with reference to background media
|
||||
// Banner: "", // TODO: Replace with reference to banner media
|
||||
Indexable: false,
|
||||
RestrictedFollow: false,
|
||||
IdentifiesAs: []Being{},
|
||||
|
@ -120,6 +126,9 @@ func (s *Storage) insertSelfFromConfig() error {
|
|||
Attrs(Account{
|
||||
PublicKey: serverActorPublicKey,
|
||||
PrivateKey: serverActorPrivateKey,
|
||||
Icon: "placeholder",
|
||||
Background: nil,
|
||||
Banner: nil,
|
||||
}).
|
||||
FirstOrCreate(&serverActor).Error
|
||||
if err != nil {
|
||||
|
@ -129,6 +138,7 @@ func (s *Storage) insertSelfFromConfig() error {
|
|||
}
|
||||
|
||||
func (s *Storage) insertDefaultRoles() error {
|
||||
defer util.Untrace(util.Trace(&log.Logger))
|
||||
for _, role := range allDefaultRoles {
|
||||
log.Debug().Str("role-name", role.Name).Msg("Inserting default role")
|
||||
if err := s.db.FirstOrCreate(role).Error; err != nil {
|
||||
|
@ -137,3 +147,16 @@ func (s *Storage) insertDefaultRoles() error {
|
|||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *Storage) insertPlaceholderFile() error {
|
||||
defer util.Untrace(util.Trace(&log.Logger))
|
||||
return s.db.Model(&MediaMetadata{}).Assign(&MediaMetadata{
|
||||
ID: "placeholder",
|
||||
Type: "image/webp",
|
||||
Name: "placeholderFile",
|
||||
Blurred: false,
|
||||
Remote: false,
|
||||
Location: "/placeholder-file",
|
||||
AltText: "Greyscale image of a pidgeon, captioned with the text \"Duck\"",
|
||||
}).FirstOrCreate(&MediaMetadata{}).Error
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue