Documentation ¶
Index ¶
- Variables
- func CurrentDBLevels(db FabricCADB) (*util.Levels, error)
- func Migrate(migrator Migrator, currentLevels, srvLevels *util.Levels) error
- type AffiliationRecord
- type CertRecord
- type DB
- func (db *DB) BeginTx() FabricCATx
- func (db *DB) Close() error
- func (db *DB) DriverName() string
- func (db *DB) Exec(funcName, query string, args ...interface{}) (sql.Result, error)
- func (db *DB) Get(funcName string, dest interface{}, query string, args ...interface{}) error
- func (db *DB) IsInitialized() bool
- func (db *DB) MustBegin() *sqlx.Tx
- func (db *DB) NamedExec(funcName, query string, args interface{}) (sql.Result, error)
- func (db *DB) PingContext(ctx context.Context) error
- func (db *DB) Queryx(funcName, query string, args ...interface{}) (*sqlx.Rows, error)
- func (db *DB) Rebind(query string) string
- func (db *DB) Select(funcName string, dest interface{}, query string, args ...interface{}) error
- func (db *DB) SetDBInitialized(b bool)
- func (db *DB) SetMaxOpenConns(n int)
- type FabricCADB
- type FabricCATx
- type Metrics
- type Migrator
- type SqlxDB
- type SqlxTx
- type TX
- func (tx *TX) Commit(funcName string) error
- func (tx *TX) Exec(funcName, query string, args ...interface{}) (sql.Result, error)
- func (tx *TX) Get(funcName string, dest interface{}, query string, args ...interface{}) error
- func (tx *TX) Queryx(funcName, query string, args ...interface{}) (*sqlx.Rows, error)
- func (tx *TX) Rebind(query string) string
- func (tx *TX) Rollback(funcName string) error
- func (tx *TX) Select(funcName string, dest interface{}, query string, args ...interface{}) error
Constants ¶
This section is empty.
Variables ¶
var ( // APICounterOpts define the counter opts for database APIs APICounterOpts = metrics.CounterOpts{ Namespace: "db_api_request", Subsystem: "", Name: "count", Help: "Number of requests made to a database API", LabelNames: []string{"ca_name", "func_name", "dbapi_name"}, LabelHelp: map[string]string{ "dbapi_name": "example dbapi_names: affiliations/{affiliation}, affiliations, certificates, enroll, reenroll, gencrl, idemix/cri, identities, register, revoke, idemix/credential, identities/{id}. ", "status_code": "Http status code. https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", }, StatsdFormat: "%{#fqname}.%{ca_name}.%{func_name}.%{dbapi_name}", } // APIDurationOpts define the duration opts for database APIs APIDurationOpts = metrics.HistogramOpts{ Namespace: "db_api_request", Subsystem: "", Name: "duration", Help: "Time taken in seconds for the request to a database API to be completed", LabelNames: []string{"ca_name", "func_name", "dbapi_name"}, LabelHelp: map[string]string{ "dbapi_name": "example dbapi_names: affiliations/{affiliation}, affiliations, certificates, enroll, reenroll, gencrl, idemix/cri, identities, register, revoke, idemix/credential, identities/{id}. ", "status_code": "Http status code. https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", }, StatsdFormat: "%{#fqname}.%{ca_name}.%{func_name}.%{dbapi_name}", } )
Functions ¶
func CurrentDBLevels ¶
func CurrentDBLevels(db FabricCADB) (*util.Levels, error)
CurrentDBLevels returns current levels from the database
Types ¶
type AffiliationRecord ¶
type AffiliationRecord struct { ID int `db:"id"` Name string `db:"name"` Prekey string `db:"prekey"` Level int `db:"level"` }
AffiliationRecord defines the properties of an affiliation
type CertRecord ¶
type CertRecord struct { ID string `db:"id"` Level int `db:"level"` certdb.CertificateRecord }
CertRecord extends CFSSL CertificateRecord by adding an enrollment ID to the record
type DB ¶
type DB struct { DB SqlxDB // Indicates if database was successfully initialized IsDBInitialized bool CAName string Metrics *Metrics }
DB is an adapter for sqlx.DB and implements FabricCADB interface
func (*DB) BeginTx ¶
func (db *DB) BeginTx() FabricCATx
BeginTx implements BeginTx method of FabricCADB interface
func (*DB) IsInitialized ¶
IsInitialized returns true if db is intialized, else false
func (*DB) PingContext ¶
PingContext pings the database
func (*DB) SetDBInitialized ¶
SetDBInitialized sets the value for Isdbinitialized
func (*DB) SetMaxOpenConns ¶
SetMaxOpenConns sets number of max open connections
type FabricCADB ¶
type FabricCADB interface { IsInitialized() bool SetDBInitialized(bool) // BeginTx has same behavior as MustBegin except it returns FabricCATx // instead of *sqlx.Tx BeginTx() FabricCATx DriverName() string Select(funcName string, dest interface{}, query string, args ...interface{}) error Exec(funcName, query string, args ...interface{}) (sql.Result, error) NamedExec(funcName, query string, arg interface{}) (sql.Result, error) Get(funcName string, dest interface{}, query string, args ...interface{}) error Queryx(funcName, query string, args ...interface{}) (*sqlx.Rows, error) Rebind(query string) string MustBegin() *sqlx.Tx Close() error SetMaxOpenConns(n int) PingContext(ctx context.Context) error }
FabricCADB is the interface that wrapper off SqlxDB
type FabricCATx ¶
type FabricCATx interface { Select(funcName string, dest interface{}, query string, args ...interface{}) error Exec(funcName, query string, args ...interface{}) (sql.Result, error) Queryx(funcName, query string, args ...interface{}) (*sqlx.Rows, error) Get(funcName string, dest interface{}, query string, args ...interface{}) error Rebind(query string) string Commit(funcName string) error Rollback(funcName string) error }
FabricCATx is the interface with functions implemented by sqlx.Tx object that are used by Fabric CA server
type Metrics ¶
type Metrics struct { // APICounter keeps track of number of times a database API is called APICounter metrics.Counter // APIDuration keeps track of time taken for request to complete to a database API APIDuration metrics.Histogram }
Metrics is the set of meters for the database
type Migrator ¶
type Migrator interface { MigrateUsersTable() error MigrateCertificatesTable() error MigrateAffiliationsTable() error MigrateCredentialsTable() error MigrateRAInfoTable() error MigrateNoncesTable() error Rollback() error Commit() error }
Migrator is the interface that defines a migrator
type SqlxDB ¶
type SqlxDB interface { DriverName() string Select(dest interface{}, query string, args ...interface{}) error Exec(query string, args ...interface{}) (sql.Result, error) NamedExec(query string, arg interface{}) (sql.Result, error) Get(dest interface{}, query string, args ...interface{}) error Queryx(query string, args ...interface{}) (*sqlx.Rows, error) Rebind(query string) string MustBegin() *sqlx.Tx Close() error SetMaxOpenConns(n int) PingContext(ctx context.Context) error }
SqlxDB is the interface with functions implemented by sqlx.DB object that are used by Fabric CA server
type SqlxTx ¶
type SqlxTx interface { Queryx(query string, args ...interface{}) (*sqlx.Rows, error) Get(dest interface{}, query string, args ...interface{}) error Select(dest interface{}, query string, args ...interface{}) error Rebind(query string) string Exec(query string, args ...interface{}) (sql.Result, error) Commit() error Rollback() error }
SqlxTx is the contract with sqlx
Directories ¶
Path | Synopsis |
---|---|
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
mocks
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
mocks
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
mocks
Code generated by counterfeiter.
|
Code generated by counterfeiter. |