feat(dbms): add new request codes

`trc_kazari_remove_single_sasa_to_multiple_tanzaku` and `trc_kazari_remove_single_tanzaku_to_multiple_sasa`
This commit is contained in:
Masahiko AMANO 2023-02-17 11:34:27 +03:00
parent 53f09a5d82
commit 832eb72bf4
2 changed files with 46 additions and 46 deletions

View File

@ -37,18 +37,18 @@ 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,
trc_tanzaku_update = 0b100100,
trc_tanzaku_remove = 0b100001,
trc_tanzaku_remove_by_sasa = 0b11001,
trc_kazari_get = 0b1000,
trc_kazari_add = 0b1010,
trc_kazari_add_single_sasa_to_multiple_tanzaku = 0b11010,
trc_kazari_add_single_tanzaku_to_multiple_sasa = 0b101010,
trc_kazari_remove = 0b1001,
trc_kazari_remove_single_sasa_to_multiple_tanzaku = 0b11001,
trc_kazari_remove_single_tanzaku_to_multiple_sasa = 0b101001,
};
#ifdef __cplusplus

View File

@ -626,26 +626,6 @@ 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;
}
**response = 0;
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);
if (list == NULL) {
return 1;
}
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;
@ -798,26 +778,6 @@ 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;
}
**response = 0;
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);
if (list == NULL) {
return 1;
}
for (Tanzaku *temp = list; temp->id != HOLE_ID; temp++) {
tanabata_tanzaku_rem(tanabata, temp->id);
}
free(list);
return 0;
}
if (request_code == trc_kazari_get) {
if (tanabata == NULL) {
return 1;
@ -875,9 +835,10 @@ int execute(char *request, char **response) {
if (*endptr != ' ') {
return 1;
}
for (endptr++; endptr != 0;) {
while (*endptr != 0) {
endptr++;
tanzaku_id = strtoull(endptr, &endptr, 0);
if (*endptr != ' ' && *endptr != 0 || tanabata_kazari_add(tanabata, sasa_id, tanzaku_id)) {
if (*endptr != ' ' && *endptr != 0 || tanabata_kazari_add(tanabata, sasa_id, tanzaku_id) != 0) {
return 1;
}
}
@ -893,9 +854,10 @@ int execute(char *request, char **response) {
if (*endptr != ' ') {
return 1;
}
for (endptr++; endptr != 0;) {
while (*endptr != 0) {
endptr++;
sasa_id = strtoull(endptr, &endptr, 0);
if (*endptr != ' ' && *endptr != 0 || tanabata_kazari_add(tanabata, sasa_id, tanzaku_id)) {
if (*endptr != ' ' && *endptr != 0 || tanabata_kazari_add(tanabata, sasa_id, tanzaku_id) != 0) {
return 1;
}
}
@ -917,6 +879,44 @@ int execute(char *request, char **response) {
}
return tanabata_kazari_rem(tanabata, sasa_id, tanzaku_id);
}
if (request_code == trc_kazari_remove_single_sasa_to_multiple_tanzaku) {
if (tanabata == NULL) {
return 1;
}
**response = 0;
char *endptr;
uint64_t sasa_id = strtoull(request_body, &endptr, 0), tanzaku_id;
if (*endptr != ' ') {
return 1;
}
while (*endptr != 0) {
endptr++;
tanzaku_id = strtoull(endptr, &endptr, 0);
if (*endptr != ' ' && *endptr != 0 || tanabata_kazari_rem(tanabata, sasa_id, tanzaku_id) != 0) {
return 1;
}
}
return 0;
}
if (request_code == trc_kazari_remove_single_tanzaku_to_multiple_sasa) {
if (tanabata == NULL) {
return 1;
}
**response = 0;
char *endptr;
uint64_t tanzaku_id = strtoull(request_body, &endptr, 0), sasa_id;
if (*endptr != ' ') {
return 1;
}
while (*endptr != 0) {
endptr++;
sasa_id = strtoull(endptr, &endptr, 0);
if (*endptr != ' ' && *endptr != 0 || tanabata_kazari_rem(tanabata, sasa_id, tanzaku_id) != 0) {
return 1;
}
}
return 0;
}
return 1;
}