(dsn string)
| 130 | } |
| 131 | |
| 132 | func showDatabaseDeposit(dsn string) { |
| 133 | dsnCfg, err := client.ParseDSN(dsn) |
| 134 | if err != nil { |
| 135 | ConsoleLog.WithError(err).Error("parse database dsn failed") |
| 136 | SetExitStatus(1) |
| 137 | return |
| 138 | } |
| 139 | |
| 140 | var ( |
| 141 | req = new(types.QuerySQLChainProfileReq) |
| 142 | resp = new(types.QuerySQLChainProfileResp) |
| 143 | pubKey *asymmetric.PublicKey |
| 144 | addr proto.AccountAddress |
| 145 | ) |
| 146 | |
| 147 | req.DBID = proto.DatabaseID(dsnCfg.DatabaseID) |
| 148 | |
| 149 | if err = mux.RequestBP(route.MCCQuerySQLChainProfile.String(), req, resp); err != nil { |
| 150 | ConsoleLog.WithError(err).Error("query database chain profile failed") |
| 151 | SetExitStatus(1) |
| 152 | return |
| 153 | } |
| 154 | |
| 155 | if pubKey, err = kms.GetLocalPublicKey(); err != nil { |
| 156 | ConsoleLog.WithError(err).Error("query database chain profile failed") |
| 157 | SetExitStatus(1) |
| 158 | return |
| 159 | } |
| 160 | |
| 161 | if addr, err = crypto.PubKeyHash(pubKey); err != nil { |
| 162 | ConsoleLog.WithError(err).Error("query database chain profile failed") |
| 163 | SetExitStatus(1) |
| 164 | return |
| 165 | } |
| 166 | |
| 167 | for _, user := range resp.Profile.Users { |
| 168 | if user.Address == addr && user.Permission != nil && user.Permission.Role != types.Void { |
| 169 | fmt.Printf("Chain token type: %s\n", resp.Profile.TokenType.String()) |
| 170 | fmt.Printf("Depsoit: %d\n", user.Deposit) |
| 171 | fmt.Printf("Arrears: %d\n", user.Arrears) |
| 172 | fmt.Printf("AdvancePayment: %d\n", user.AdvancePayment) |
| 173 | return |
| 174 | } |
| 175 | } |
| 176 | |
| 177 | ConsoleLog.Error("no permission to the database") |
| 178 | SetExitStatus(1) |
| 179 | return |
| 180 | } |
| 181 | |
| 182 | func showAllDatabaseDeposit() { |
| 183 | var ( |
no test coverage detected