using items

This commit is contained in:
ntr
2018-10-16 00:47:18 +11:00
parent dcdd9a232b
commit 901dc28541
10 changed files with 67 additions and 27 deletions
+2 -2
View File
@@ -70,10 +70,10 @@ pub fn item_create(item: Item, tx: &mut Transaction, account: &Account) -> Resul
pub fn item_use(params: ItemUseParams, tx: &mut Transaction, account: &Account) -> Result<(), Error> {
let query = "
SELECT data
FOR UPDATE
FROM items
WHERE id = $1
AND account = $2;
AND account = $2
FOR UPDATE;
";
let result = tx
+15 -12
View File
@@ -142,18 +142,21 @@ impl Rpc {
}
fn item_use(data: Vec<u8>, tx: &mut Transaction, account: Option<Account>, _client: &mut WebSocket<TcpStream>) -> Result<RpcResponse, Error> {
match from_slice::<ItemUseMsg>(&data) {
Ok(v) => {
match account {
Some(a) => Ok(RpcResponse {
method: v.method,
params: RpcResult::ItemUse(item_use(v.params, tx, &a)?)
}),
None => Err(err_msg("auth required")),
}
}
Err(_e) => Err(err_msg("invalid params")),
}
let a = match account {
Some(a) => a,
None => return Err(err_msg("auth required")),
};
let msg = from_slice::<ItemUseMsg>(&data).or(Err(err_msg("invalid params")))?;
item_use(msg.params, tx, &a)?;
let cryps_list = RpcResponse {
method: "account_cryps".to_string(),
params: RpcResult::CrypList(account_cryps(tx, &a)?)
};
return Ok(cryps_list);
}