[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 1) namespace repositories
source/repositories/concept.ts 2) {
source/repositories/concept.ts 3)
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 4) export var concept_core : helpers.repository_sqltable =
source/repositories/concept.ts 5) {
source/repositories/concept.ts 6) "setup": function ()
source/repositories/concept.ts 7) {
source/repositories/concept.ts 8) return helpers.database.query_do_named("concept.setup-core");
source/repositories/concept.ts 9) },
source/repositories/concept.ts 10) "teardown": function ()
source/repositories/concept.ts 11) {
source/repositories/concept.ts 12) throw (new Error("not implemented"));
source/repositories/concept.ts 13) },
source/repositories/concept.ts 14) "create": function (row)
source/repositories/concept.ts 15) {
source/repositories/concept.ts 16) return helpers.database.query_put_free
source/repositories/concept.ts 17) (
source/repositories/concept.ts 18) "INSERT INTO concepts(type_id, description) VALUES (:type_id, :description);",
source/repositories/concept.ts 19) {
source/repositories/concept.ts 20) "type_id": row["type_id"],
source/repositories/concept.ts 21) "description": row["description"],
source/repositories/concept.ts 22) }
source/repositories/concept.ts 23) );
source/repositories/concept.ts 24) },
source/repositories/concept.ts 25) "update": function (concept_id, row)
source/repositories/concept.ts 26) {
source/repositories/concept.ts 27) return helpers.database.query_do_free
source/repositories/concept.ts 28) (
source/repositories/concept.ts 29) "UPDATE concepts SET type_id = :type_id, description = :description WHERE (id = :id)",
source/repositories/concept.ts 30) {
source/repositories/concept.ts 31) "id": concept_id,
source/repositories/concept.ts 32) "type_id": row["type_id"],
source/repositories/concept.ts 33) "description": row["description"],
source/repositories/concept.ts 34) }
source/repositories/concept.ts 35) );
source/repositories/concept.ts 36) },
source/repositories/concept.ts 37) "delete": function (concept_id)
source/repositories/concept.ts 38) {
source/repositories/concept.ts 39) return helpers.database.query_do_free
source/repositories/concept.ts 40) (
source/repositories/concept.ts 41) "DELETE FROM concepts WHERE (id = :id)",
source/repositories/concept.ts 42) {
source/repositories/concept.ts 43) "id": concept_id,
source/repositories/concept.ts 44) }
source/repositories/concept.ts 45) );
source/repositories/concept.ts 46) },
source/repositories/concept.ts 47) "read": function (concept_id)
source/repositories/concept.ts 48) {
source/repositories/concept.ts 49) return (
source/repositories/concept.ts 50) helpers.database.query_get_free
source/repositories/concept.ts 51) (
source/repositories/concept.ts 52) "SELECT type_id,description FROM concepts WHERE (id = :id)",
source/repositories/concept.ts 53) {
source/repositories/concept.ts 54) "id": concept_id,
source/repositories/concept.ts 55) }
source/repositories/concept.ts 56) )
source/repositories/concept.ts 57) .then
source/repositories/concept.ts 58) (
source/repositories/concept.ts 59) (rows) => (
source/repositories/concept.ts 60) (rows.length === 1)
source/repositories/concept.ts 61) ? Promise.resolve<type_row>(rows[0])
source/repositories/concept.ts 62) : Promise.reject<type_row>(new Error("not found"))
source/repositories/concept.ts 63) )
source/repositories/concept.ts 64) )
source/repositories/concept.ts 65) );
source/repositories/concept.ts 66) },
source/repositories/concept.ts 67) "purge": async function (column, value)
source/repositories/concept.ts 68) {
source/repositories/concept.ts 69) throw (new Error("not implemented"));
source/repositories/concept.ts 70) },
source/repositories/concept.ts 71) "take": async function (column, value)
source/repositories/concept.ts 72) {
source/repositories/concept.ts 73) throw (new Error("not implemented"));
source/repositories/concept.ts 74) },
source/repositories/concept.ts 75) };
source/repositories/concept.ts 76)
source/repositories/concept.ts 77)
source/repositories/concept.ts 78) export var concept_tags : helpers.repository_sqltable =
source/repositories/concept.ts 79) {
source/repositories/concept.ts 80) "setup": function ()
source/repositories/concept.ts 81) {
source/repositories/concept.ts 82) return helpers.database.query_do_named("concept.setup-tags");
source/repositories/concept.ts 83) },
source/repositories/concept.ts 84) "teardown": function ()
source/repositories/concept.ts 85) {
source/repositories/concept.ts 86) throw (new Error("not implemented"));
source/repositories/concept.ts 87) },
source/repositories/concept.ts 88) "create": function (row)
source/repositories/concept.ts 89) {
source/repositories/concept.ts 90) return helpers.database.query_put_free
source/repositories/concept.ts 91) (
source/repositories/concept.ts 92) "INSERT INTO concept_tags(concept_id, tag_id) VALUES (:concept_id, :tag_id);",
source/repositories/concept.ts 93) {
source/repositories/concept.ts 94) "concept_id": row["concept_id"],
source/repositories/concept.ts 95) "tag_id": row["tag_id"],
source/repositories/concept.ts 96) }
source/repositories/concept.ts 97) );
source/repositories/concept.ts 98) },
source/repositories/concept.ts 99) "update": function (concept_tag_id, row)
source/repositories/concept.ts 100) {
source/repositories/concept.ts 101) return helpers.database.query_do_free
source/repositories/concept.ts 102) (
source/repositories/concept.ts 103) "UPDATE concept_tags SET concept_id = :concept_id, tag_id = :tag_id WHERE (id = :id)",
source/repositories/concept.ts 104) {
source/repositories/concept.ts 105) "id": concept_tag_id,
source/repositories/concept.ts 106) "concept_id": row["concept_id"],
source/repositories/concept.ts 107) "tag_id": row["tag_id"],
source/repositories/concept.ts 108) }
source/repositories/concept.ts 109) );
source/repositories/concept.ts 110) },
source/repositories/concept.ts 111) "delete": function (concept_tag_id)
source/repositories/concept.ts 112) {
source/repositories/concept.ts 113) return helpers.database.query_do_free
source/repositories/concept.ts 114) (
source/repositories/concept.ts 115) "DELETE FROM concept_tags WHERE (id = :id)",
source/repositories/concept.ts 116) {
source/repositories/concept.ts 117) "id": concept_tag_id,
source/repositories/concept.ts 118) }
source/repositories/concept.ts 119) );
source/repositories/concept.ts 120) },
source/repositories/concept.ts 121) "read": async function (concept_tag_id)
source/repositories/concept.ts 122) {
source/repositories/concept.ts 123) return (
source/repositories/concept.ts 124) helpers.database.query_get_free
source/repositories/concept.ts 125) (
source/repositories/concept.ts 126) "SELECT concept_id,tag_id FROM concept_tags WHERE (id = :id)",
source/repositories/concept.ts 127) {
source/repositories/concept.ts 128) "id": concept_tag_id,
source/repositories/concept.ts 129) }
source/repositories/concept.ts 130) )
source/repositories/concept.ts 131) .then
source/repositories/concept.ts 132) (
source/repositories/concept.ts 133) (rows) => (
source/repositories/concept.ts 134) (rows.length === 1)
source/repositories/concept.ts 135) ? Promise.resolve<type_row>(rows[0])
source/repositories/concept.ts 136) : Promise.reject<type_row>(new Error("not found"))
source/repositories/concept.ts 137) )
source/repositories/concept.ts 138) )
source/repositories/concept.ts 139) );
source/repositories/concept.ts 140) },
source/repositories/concept.ts 141) "purge": async function (column, value)
source/repositories/concept.ts 142) {
source/repositories/concept.ts 143) return helpers.database.query_do_free
source/repositories/concept.ts 144) (
source/repositories/concept.ts 145) "DELETE FROM concept_tags WHERE (" + column + " = :value)",
source/repositories/concept.ts 146) {
source/repositories/concept.ts 147) "value": value,
source/repositories/concept.ts 148) }
source/repositories/concept.ts 149) );
source/repositories/concept.ts 150) },
source/repositories/concept.ts 151) "take": async function (column, value)
source/repositories/concept.ts 152) {
source/repositories/concept.ts 153) return await helpers.database.query_get_free
source/repositories/concept.ts 154) (
source/repositories/concept.ts 155) "SELECT concept_id,tag_id FROM concept_tags WHERE (" + column + " = :value)",
source/repositories/concept.ts 156) {
source/repositories/concept.ts 157) "value": value,
source/repositories/concept.ts 158) }
source/repositories/concept.ts 159) );
source/repositories/concept.ts 160) },
source/repositories/concept.ts 161) };
source/repositories/concept.ts 162)
source/repositories/concept.ts 163)
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 164) /**
source/repositories/concept.ts 165) */
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 166) export var concept_expressions : helpers.repository_sqltable =
source/repositories/concept.ts 167) {
source/repositories/concept.ts 168) "setup": function ()
source/repositories/concept.ts 169) {
source/repositories/concept.ts 170) return helpers.database.query_do_named("concept.setup-expressions");
source/repositories/concept.ts 171) },
source/repositories/concept.ts 172) "teardown": function ()
source/repositories/concept.ts 173) {
source/repositories/concept.ts 174) throw (new Error("not implemented"));
source/repositories/concept.ts 175) },
source/repositories/concept.ts 176) "create": function (row)
source/repositories/concept.ts 177) {
source/repositories/concept.ts 178) return helpers.database.query_put_free
source/repositories/concept.ts 179) (
source/repositories/concept.ts 180) "INSERT INTO concept_expressions(concept_id, expression_id) VALUES (:concept_id, :expression_id);",
source/repositories/concept.ts 181) {
source/repositories/concept.ts 182) "concept_id": row["concept_id"],
source/repositories/concept.ts 183) "expression_id": row["expression_id"],
source/repositories/concept.ts 184) }
source/repositories/concept.ts 185) );
source/repositories/concept.ts 186) },
source/repositories/concept.ts 187) "update": function (concept_expression_id, row)
source/repositories/concept.ts 188) {
source/repositories/concept.ts 189) return helpers.database.query_do_free
source/repositories/concept.ts 190) (
source/repositories/concept.ts 191) "UPDATE concept_expressions SET concept_id = :concept_id, expression_id = :expression_id WHERE (id = :id)",
source/repositories/concept.ts 192) {
source/repositories/concept.ts 193) "id": concept_expression_id,
source/repositories/concept.ts 194) "concept_id": row["concept_id"],
source/repositories/concept.ts 195) "expression_id": row["expression_id"],
source/repositories/concept.ts 196) }
source/repositories/concept.ts 197) );
source/repositories/concept.ts 198) },
source/repositories/concept.ts 199) "delete": function (concept_expression_id)
source/repositories/concept.ts 200) {
source/repositories/concept.ts 201) return helpers.database.query_do_free
source/repositories/concept.ts 202) (
source/repositories/concept.ts 203) "DELETE FROM concept_expressions WHERE (id = :id)",
source/repositories/concept.ts 204) {
source/repositories/concept.ts 205) "id": concept_expression_id,
source/repositories/concept.ts 206) }
source/repositories/concept.ts 207) );
source/repositories/concept.ts 208) },
source/repositories/concept.ts 209) "read": async function (concept_expression_id)
source/repositories/concept.ts 210) {
source/repositories/concept.ts 211) return (
source/repositories/concept.ts 212) helpers.database.query_get_free
source/repositories/concept.ts 213) (
source/repositories/concept.ts 214) "SELECT concept_id,expression_id FROM concept_expressions WHERE (id = :id)",
source/repositories/concept.ts 215) {
source/repositories/concept.ts 216) "id": concept_expression_id,
source/repositories/concept.ts 217) }
source/repositories/concept.ts 218) )
source/repositories/concept.ts 219) .then
source/repositories/concept.ts 220) (
source/repositories/concept.ts 221) (rows) => (
source/repositories/concept.ts 222) (rows.length === 1)
source/repositories/concept.ts 223) ? Promise.resolve<type_row>(rows[0])
source/repositories/concept.ts 224) : Promise.reject<type_row>(new Error("not found"))
source/repositories/concept.ts 225) )
source/repositories/concept.ts 226) )
source/repositories/concept.ts 227) );
source/repositories/concept.ts 228) },
source/repositories/concept.ts 229) "purge": async function (column, value)
source/repositories/concept.ts 230) {
source/repositories/concept.ts 231) return helpers.database.query_do_free
source/repositories/concept.ts 232) (
source/repositories/concept.ts 233) "DELETE FROM concept_expressions WHERE (" + column + " = :value)",
source/repositories/concept.ts 234) {
source/repositories/concept.ts 235) "value": value,
source/repositories/concept.ts 236) }
source/repositories/concept.ts 237) );
source/repositories/concept.ts 238) },
source/repositories/concept.ts 239) "take": async function (column, value)
source/repositories/concept.ts 240) {
source/repositories/concept.ts 241) return await helpers.database.query_get_free
source/repositories/concept.ts 242) (
source/repositories/concept.ts 243) "SELECT concept_id,expression_id FROM concept_expressions WHERE (" + column + " = :value)",
source/repositories/concept.ts 244) {
source/repositories/concept.ts 245) "value": value,
source/repositories/concept.ts 246) }
source/repositories/concept.ts 247) );
source/repositories/concept.ts 248) },
source/repositories/concept.ts 249) };
source/repositories/concept.ts 250)
source/repositories/concept.ts 251)
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 252) export var concept : (
source/repositories/concept.ts 253) helpers.repository<int, entities.concept>
source/repositories/concept.ts 254) &
source/repositories/concept.ts 255) {
source/repositories/concept.ts 256) get_translations : (language_from : string, language_to : string, part : string)=>Promise<Array<type_row>>;
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 257) search : (part : string)=>Promise<Array<int>>;
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 258) export : ()=>Promise<Array<type_row>>;
source/repositories/concept.ts 259) }
source/repositories/concept.ts 260) ) =
source/repositories/concept.ts 261) {
source/repositories/concept.ts 262) "setup": async function ()
source/repositories/concept.ts 263) {
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 264) await concept_core.setup();
source/repositories/concept.ts 265) await concept_tags.setup();
source/repositories/concept.ts 266) await concept_expressions.setup();
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 267) return Promise.resolve<void>(undefined);
source/repositories/concept.ts 268) },
source/repositories/concept.ts 269) "teardown": async function ()
source/repositories/concept.ts 270) {
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 271) await concept_expressions.teardown();
source/repositories/concept.ts 272) await concept_tags.teardown();
source/repositories/concept.ts 273) await concept_core.teardown();
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 274) return Promise.resolve<void>(undefined);
source/repositories/concept.ts 275) },
source/repositories/concept.ts 276) "create": async function (concept_entity)
source/repositories/concept.ts 277) {
source/repositories/concept.ts 278) const row_core : type_row = {"type_id": concept_entity.type_id, "description": concept_entity.description};
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 279) const concept_id : int = await concept_core.create(row_core);
|
[add] api
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 280) for await (const tag_id of concept_entity.tag_ids)
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 281) {
source/repositories/concept.ts 282) const row_tag : type_row = {"concept_id": concept_id, "tag_id": tag_id};
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 283) const concept_tag_id : int = await concept_tags.create(row_tag);
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 284) }
|
[add] api
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 285) for await (const expression_id of concept_entity.expression_ids)
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 286) {
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 287) const row_expressions : type_row = {"concept_id": concept_id, "expression_id": expression_id};
source/repositories/concept.ts 288) const concept_expressions_id : int = await concept_expressions.create(row_expressions);
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 289) }
source/repositories/concept.ts 290) return Promise.resolve<int>(concept_id);
source/repositories/concept.ts 291) },
source/repositories/concept.ts 292) "update": function (concept_id, concept_entity)
source/repositories/concept.ts 293) {
source/repositories/concept.ts 294) throw (new Error("not implemented"));
source/repositories/concept.ts 295) },
source/repositories/concept.ts 296) "delete": async function (concept_id)
source/repositories/concept.ts 297) {
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 298) await concept_expressions.purge("concept_id", concept_id);
source/repositories/concept.ts 299) await concept_tags.purge("concept_id", concept_id);
source/repositories/concept.ts 300) await concept_core.delete(concept_id);
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 301) return Promise.resolve<void>(undefined);
source/repositories/concept.ts 302) },
source/repositories/concept.ts 303) "read": async function (concept_id)
source/repositories/concept.ts 304) {
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 305) const row_core : type_row = await concept_core.read(concept_id);;
source/repositories/concept.ts 306) const rows_tags : Array<type_row> = await concept_tags.take("concept_id", concept_id);
source/repositories/concept.ts 307) const rows_expressions : Array<type_row> = await concept_expressions.take("concept_id", concept_id);
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 308) const concept_entity : entities.concept =
source/repositories/concept.ts 309) {
source/repositories/concept.ts 310) "type_id": row_core["type_id"],
source/repositories/concept.ts 311) "description": row_core["description"],
|
[add] api
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 312) "tag_ids": rows_tags.map(row_tag => row_tag["tag_id"]),
source/repositories/concept.ts 313) "expression_ids": rows_expressions.map(row_expression => row_expression["expression_id"]),
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 314) };
source/repositories/concept.ts 315) return Promise.resolve<entities.concept>(concept_entity);
source/repositories/concept.ts 316) },
|
[mod] logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 317) "get_translations": function (language_from, language_to, part)
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 318) {
source/repositories/concept.ts 319) return helpers.database.query_get_named
source/repositories/concept.ts 320) (
source/repositories/concept.ts 321) "concept.get_translations",
source/repositories/concept.ts 322) {
|
[mod] logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 323) "language_from": language_from,
source/repositories/concept.ts 324) "language_to": language_to,
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 325) "part": part.replace(new RegExp("-", "g"), "%"),
source/repositories/concept.ts 326) }
source/repositories/concept.ts 327) );
source/repositories/concept.ts 328) },
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 329) "search": function (part) : Promise<Array<int>>
|
[add] typescript logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 330) {
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 331) return (
source/repositories/concept.ts 332) helpers.database.query_get_named("concept.search", {"part": part.replace(new RegExp("-", "g"), "%")})
source/repositories/concept.ts 333) .then<Array<int>>
source/repositories/concept.ts 334) (
source/repositories/concept.ts 335) (rows) => Promise.resolve<Array<int>>(rows.map(row => row["id"]))
source/repositories/concept.ts 336) )
source/repositories/concept.ts 337) );
|
[mod] logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 338) },
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 339) "export": function () : Promise<Array<type_row>>
|
[mod] logic
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 340) {
|
[mod] makefile
Christian Fraß authored 3 years ago
|
source/repositories/concept.ts 341) return helpers.database.query_get_named("concept.dump", {"part": null});
|