github.com/infraboard/keyauth@v0.8.1/apps/ip2region/impl/impl.go (about)

     1  package impl
     2  
     3  import (
     4  	"sync"
     5  
     6  	"github.com/infraboard/mcube/app"
     7  	"github.com/infraboard/mcube/logger"
     8  	"github.com/infraboard/mcube/logger/zap"
     9  
    10  	"github.com/infraboard/keyauth/apps/ip2region"
    11  	"github.com/infraboard/keyauth/apps/ip2region/reader"
    12  	"github.com/infraboard/keyauth/apps/storage"
    13  )
    14  
    15  var (
    16  	// Service 服务实例
    17  	svr = &service{
    18  		bucketName: "ip2region",
    19  		dbFileName: "ip2region.db",
    20  	}
    21  )
    22  
    23  type service struct {
    24  	storage    storage.Service
    25  	log        logger.Logger
    26  	bucketName string
    27  	dbFileName string
    28  	dbReader   *reader.IPReader
    29  	sync.Mutex
    30  }
    31  
    32  func (s *service) Config() error {
    33  	s.storage = app.GetInternalApp(storage.AppName).(storage.Service)
    34  
    35  	s.log = zap.L().Named("IP2Region")
    36  	return nil
    37  }
    38  
    39  func (s *service) Name() string {
    40  	return ip2region.AppName
    41  }
    42  
    43  func init() {
    44  	app.RegistryInternalApp(svr)
    45  }