|
|
@@ -143,7 +143,35 @@ func (c *Client) Delete(req *ports.DeleteRequest) (string, error) {
|
|
|
return reply.Statement, nil
|
|
|
}
|
|
|
|
|
|
-// TODO DeleteBatch
|
|
|
+func (c *Client) DeleteBatch(req *ports.DeleteBatchRequest) (string, error) {
|
|
|
+ tableItems := make([]*request.DeleteTableItem, 0)
|
|
|
+
|
|
|
+ for _, reqTableItem := range req.Items {
|
|
|
+ items := make([]*request.DeleteItem, 0)
|
|
|
+ for _, reqItem := range reqTableItem.Items {
|
|
|
+ items = append(items, &request.DeleteItem{
|
|
|
+ KeyValues: reqItem.KeyValues,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ tableItems = append(tableItems, &request.DeleteTableItem{
|
|
|
+ TablePrefixWithSchema: reqTableItem.TablePrefixWithSchema,
|
|
|
+ Version: reqTableItem.Version,
|
|
|
+ Items: items,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ reply, err := c.commandServiceClient.DeleteBatch(context.Background(), &request.DeleteBatchRequest{
|
|
|
+ DatabaseID: req.DatabaseID,
|
|
|
+ Items: tableItems,
|
|
|
+ UserID: req.UserID,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+
|
|
|
+ return reply.Statement, nil
|
|
|
+}
|
|
|
|
|
|
func (c *Client) Update(req *ports.UpdateRequest) (string, error) {
|
|
|
newTableRowJsonByte, err := c.formTableRow(req.NewTableRow)
|