@@ -87,9 +87,9 @@ func defaultDevConfig() *DevConfig {
8787func NewStores (cfg * Config , clock clock.Clock ) (* stores , error ) {
8888 var (
8989 networkDir = filepath .Join (cfg .LitDir , cfg .Network )
90- acctStore accounts. Store
91- sessStore session. Store
92- closeFns = make ( map [ string ] func () error )
90+ stores = & stores {
91+ closeFns : make ( map [ string ] func () error ),
92+ }
9393 )
9494
9595 switch cfg .DatabaseBackend {
@@ -98,76 +98,68 @@ func NewStores(cfg *Config, clock clock.Clock) (*stores, error) {
9898 // the directory where we will store the database file exists.
9999 err := makeDirectories (networkDir )
100100 if err != nil {
101- return nil , err
101+ return stores , err
102102 }
103103
104104 sqlStore , err := db .NewSqliteStore (cfg .Sqlite )
105105 if err != nil {
106- return nil , err
106+ return stores , err
107107 }
108108
109- acctStore = accounts .NewSQLStore (sqlStore .BaseDB , clock )
110- sessStore = session .NewSQLStore (sqlStore .BaseDB , clock )
111- closeFns ["sqlite" ] = sqlStore .BaseDB .Close
109+ acctStore := accounts .NewSQLStore (sqlStore .BaseDB , clock )
110+ sessStore := session .NewSQLStore (sqlStore .BaseDB , clock )
111+
112+ stores .accounts = acctStore
113+ stores .sessions = sessStore
114+ stores .closeFns ["sqlite" ] = sqlStore .BaseDB .Close
112115
113116 case DatabaseBackendPostgres :
114117 sqlStore , err := db .NewPostgresStore (cfg .Postgres )
115118 if err != nil {
116- return nil , err
119+ return stores , err
117120 }
118121
119- acctStore = accounts .NewSQLStore (sqlStore .BaseDB , clock )
120- sessStore = session .NewSQLStore (sqlStore .BaseDB , clock )
121- closeFns ["postgres" ] = sqlStore .BaseDB .Close
122+ acctStore := accounts .NewSQLStore (sqlStore .BaseDB , clock )
123+ sessStore := session .NewSQLStore (sqlStore .BaseDB , clock )
124+
125+ stores .accounts = acctStore
126+ stores .sessions = sessStore
127+ stores .closeFns ["postgres" ] = sqlStore .BaseDB .Close
122128
123129 default :
124130 accountStore , err := accounts .NewBoltStore (
125131 filepath .Dir (cfg .MacaroonPath ), accounts .DBFilename ,
126132 clock ,
127133 )
128134 if err != nil {
129- return nil , err
135+ return stores , err
130136 }
131- closeFns ["bbolt-accounts" ] = accountStore .Close
137+
138+ stores .accounts = accountStore
139+ stores .closeFns ["bbolt-accounts" ] = accountStore .Close
132140
133141 sessionStore , err := session .NewDB (
134142 networkDir , session .DBFilename , clock , accountStore ,
135143 )
136144 if err != nil {
137- return nil , err
145+ return stores , err
138146 }
139- closeFns ["bbolt-sessions" ] = sessionStore .Close
140147
141- acctStore = accountStore
142- sessStore = sessionStore
148+ stores . sessions = sessionStore
149+ stores . closeFns [ "bbolt-sessions" ] = sessionStore . Close
143150 }
144151
145152 firewallBoltDB , err := firewalldb .NewBoltDB (
146- networkDir , firewalldb .DBFilename , sessStore ,
153+ networkDir , firewalldb .DBFilename , stores . sessions ,
147154 )
148155 if err != nil {
149- return nil , fmt .Errorf ("error creating firewall BoltDB: %v" ,
156+ return stores , fmt .Errorf ("error creating firewall BoltDB: %v" ,
150157 err )
151158 }
152- closeFns ["bbolt-firewalldb" ] = firewallBoltDB .Close
153-
154- return & stores {
155- accounts : acctStore ,
156- sessions : sessStore ,
157- firewall : firewalldb .NewDB (firewallBoltDB ),
158- firewallBolt : firewallBoltDB ,
159- close : func () error {
160- var returnErr error
161- for storeName , fn := range closeFns {
162- err := fn ()
163- if err != nil {
164- log .Errorf ("error closing %s store: %v" ,
165- storeName , err )
166- returnErr = err
167- }
168- }
169-
170- return returnErr
171- },
172- }, nil
159+
160+ stores .firewall = firewalldb .NewDB (firewallBoltDB )
161+ stores .firewallBolt = firewallBoltDB
162+ stores .closeFns ["bbolt-firewalldb" ] = firewallBoltDB .Close
163+
164+ return stores , nil
173165}
0 commit comments