github.com/condensat/bank-core@v0.1.0/database/options.go (about)

     1  // Copyright 2020 Condensat Tech. All rights reserved.
     2  // Use of this source code is governed by a MIT
     3  // license that can be found in the LICENSE file.
     4  
     5  package database
     6  
     7  import (
     8  	"flag"
     9  )
    10  
    11  type Options struct {
    12  	HostName      string
    13  	Port          int
    14  	User          string
    15  	Password      string
    16  	Database      string
    17  	EnableLogging bool
    18  }
    19  
    20  func DefaultOptions() Options {
    21  	return Options{
    22  		HostName:      "db",
    23  		Port:          3306,
    24  		User:          "condensat",
    25  		Password:      "condensat",
    26  		Database:      "condensat",
    27  		EnableLogging: false,
    28  	}
    29  }
    30  
    31  func OptionArgs(args *Options) {
    32  	if args == nil {
    33  		panic("Invalid database args")
    34  	}
    35  
    36  	defaults := DefaultOptions()
    37  	flag.StringVar(&args.HostName, "dbHost", defaults.HostName, "Database hostName (default 'db')")
    38  	flag.IntVar(&args.Port, "dbPort", defaults.Port, "Database port (default 3306)")
    39  	flag.StringVar(&args.User, "dbUser", defaults.User, "Database user (condensat)")
    40  	flag.StringVar(&args.Password, "dbPassword", defaults.Password, "Database user (condensat)")
    41  	flag.StringVar(&args.Database, "dbName", defaults.Database, "Database name (condensat)")
    42  	flag.BoolVar(&args.EnableLogging, "enableLogging", defaults.EnableLogging, "Enable database logging (false")
    43  }