github
0 of 1422 new or added lines in 20 files covered. (0.0%)
21 existing lines in 3 files now uncovered.0 of 3756 relevant lines covered (0.0%)
0.0 hits per line
| 1 |
package messages
|
|
| 2 |
|
|
| 3 |
import (
|
|
| 4 |
"sync"
|
|
| 5 |
|
|
| 6 |
"go.uber.org/zap"
|
|
| 7 |
|
|
| 8 |
"github.com/Civil/tg-simple-regex-antispam/dbs/generic"
|
|
| 9 |
"github.com/Civil/tg-simple-regex-antispam/dbs/interfaces"
|
|
| 10 |
) |
|
| 11 |
|
|
| 12 |
type MessageDB struct { |
|
| 13 |
name string
|
|
| 14 |
sync.Mutex |
|
| 15 |
interfaces.SharedDB |
|
| 16 |
} |
|
| 17 |
|
|
| 18 |
var instance = map[string]*MessageDB{} |
|
| 19 |
var lock = &sync.Mutex{}
|
|
| 20 |
|
|
|
NEW
|
func Get(logger *zap.Logger, name string) (*MessageDB, error) { |
× |
|
NEW
|
lock.Lock() |
× |
|
NEW
|
defer lock.Unlock()
|
× |
|
NEW
|
if db, ok := instance[name]; ok {
|
× |
|
NEW
|
return db, nil |
× |
|
NEW
|
} |
× |
| 27 |
|
|
|
NEW
|
logger = logger.With(zap.String("db_name", "messages")) |
× |
|
NEW
|
db, err := generic.New(logger, name, nil)
|
× |
|
NEW
|
if err != nil { |
× |
|
NEW
|
return nil, err |
× |
|
NEW
|
} |
× |
|
NEW
|
msgDB := &MessageDB{
|
× |
|
NEW
|
name: name, |
× |
|
NEW
|
SharedDB: db, |
× |
|
NEW
|
} |
× |
|
NEW
|
instance[name] = msgDB |
× |
|
NEW
|
|
× |
|
NEW
|
return msgDB, nil |
× |
| 40 |
} |