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_add = 0b10010,
trc_sasa_update = 0b10100, trc_sasa_update = 0b10100,
trc_sasa_remove = 0b10001, trc_sasa_remove = 0b10001,
trc_sasa_remove_by_tanzaku = 0b101001,
trc_tanzaku_get = 0b100000, trc_tanzaku_get = 0b100000,
trc_tanzaku_get_by_sasa = 0b11000, trc_tanzaku_get_by_sasa = 0b11000,
trc_tanzaku_add = 0b100010, trc_tanzaku_add = 0b100010,
trc_tanzaku_update = 0b100100, trc_tanzaku_update = 0b100100,
trc_tanzaku_remove = 0b100001, trc_tanzaku_remove = 0b100001,
trc_tanzaku_remove_by_sasa = 0b11001,
trc_kazari_get = 0b1000, trc_kazari_get = 0b1000,
trc_kazari_add = 0b1010, trc_kazari_add = 0b1010,
trc_kazari_add_single_sasa_to_multiple_tanzaku = 0b11010, trc_kazari_add_single_sasa_to_multiple_tanzaku = 0b11010,
trc_kazari_add_single_tanzaku_to_multiple_sasa = 0b101010, trc_kazari_add_single_tanzaku_to_multiple_sasa = 0b101010,
trc_kazari_remove = 0b1001, trc_kazari_remove = 0b1001,
trc_kazari_remove_single_sasa_to_multiple_tanzaku = 0b11001,
trc_kazari_remove_single_tanzaku_to_multiple_sasa = 0b101001,
}; };
#ifdef __cplusplus #ifdef __cplusplus

View File

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