Deploy rpc, called by BP to create/drop database and update peers.
(req *types.UpdateService, _ *types.UpdateServiceResponse)
| 119 | |
| 120 | // Deploy rpc, called by BP to create/drop database and update peers. |
| 121 | func (rpc *DBMSRPCService) Deploy(req *types.UpdateService, _ *types.UpdateServiceResponse) (err error) { |
| 122 | // verify request node is block producer |
| 123 | if !route.IsPermitted(&req.Envelope, route.DBSDeploy) { |
| 124 | err = errors.Wrap(ErrInvalidRequest, "node not permitted for deploy request") |
| 125 | return |
| 126 | } |
| 127 | |
| 128 | // verify signature |
| 129 | if err = req.Verify(); err != nil { |
| 130 | return |
| 131 | } |
| 132 | |
| 133 | // create/drop/update |
| 134 | switch req.Header.Op { |
| 135 | case types.CreateDB: |
| 136 | err = rpc.dbms.Create(&req.Header.Instance, true) |
| 137 | case types.UpdateDB: |
| 138 | err = rpc.dbms.Update(&req.Header.Instance) |
| 139 | case types.DropDB: |
| 140 | err = rpc.dbms.Drop(req.Header.Instance.DatabaseID) |
| 141 | } |
| 142 | |
| 143 | return |
| 144 | } |
nothing calls this directly
no test coverage detected