feat(dbms): add remove sasa by tanzaku and tanzaku by sasa operations

This commit is contained in:
Masahiko AMANO 2023-01-21 16:19:37 +03:00
parent ea720c449c
commit 66c1a17ad5
2 changed files with 33 additions and 0 deletions

View File

@ -24,6 +24,7 @@ enum TRC {
trc_sasa_add = 0b10010,
trc_sasa_update = 0b10100,
trc_sasa_remove = 0b10001,
trc_sasa_remove_by_tanzaku = 0b101001,
trc_tanzaku_get = 0b100000,
trc_tanzaku_get_by_sasa = 0b11000,
trc_tanzaku_add = 0b100010,

View File

@ -557,6 +557,22 @@ int execute(char *request, char **response) {
}
return tanabata_sasa_rem(tanabata, sasa_id);
}
if (request_code == trc_sasa_remove_by_tanzaku) {
if (tanabata == NULL) {
return 1;
}
char *endptr;
uint64_t tanzaku_id = strtoull(request_body, &endptr, 0);
if (*endptr != 0) {
return 1;
}
Sasa *list = tanabata_sasa_get_by_tanzaku(tanabata, tanzaku_id);
for (Sasa *temp = list; temp->id != HOLE_ID; temp++) {
tanabata_sasa_rem(tanabata, temp->id);
}
free(list);
return 0;
}
if (request_code == trc_tanzaku_get) {
if (tanabata == NULL) {
return 1;
@ -680,6 +696,22 @@ int execute(char *request, char **response) {
}
return tanabata_tanzaku_rem(tanabata, tanzaku_id);
}
if (request_code == trc_tanzaku_remove_by_sasa) {
if (tanabata == NULL) {
return 1;
}
char *endptr;
uint64_t sasa_id = strtoull(request_body, &endptr, 0);
if (*endptr != 0) {
return 1;
}
Tanzaku *list = tanabata_tanzaku_get_by_sasa(tanabata, sasa_id);
for (Tanzaku *temp = list; temp->id != HOLE_ID; temp++) {
tanabata_tanzaku_rem(tanabata, temp->id);
}
free(list);
return 0;
}
return 1;
}