namirasoft-field-node 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/Application.d.ts +7 -0
  2. package/dist/Application.js +41 -0
  3. package/dist/Application.js.map +1 -0
  4. package/dist/controller/BaseEntityFieldController.d.ts +12 -0
  5. package/dist/controller/BaseEntityFieldController.js +16 -0
  6. package/dist/controller/BaseEntityFieldController.js.map +1 -0
  7. package/dist/controller/BaseEntityFieldControllerProps.d.ts +3 -0
  8. package/dist/controller/BaseEntityFieldControllerProps.js +3 -0
  9. package/dist/controller/BaseEntityFieldControllerProps.js.map +1 -0
  10. package/dist/controller/BaseEntityFieldControllerState.d.ts +3 -0
  11. package/dist/controller/BaseEntityFieldControllerState.js +3 -0
  12. package/dist/controller/BaseEntityFieldControllerState.js.map +1 -0
  13. package/dist/controller/entity_category/Create.d.ts +21 -0
  14. package/dist/controller/entity_category/Create.js +64 -0
  15. package/dist/controller/entity_category/Create.js.map +1 -0
  16. package/dist/controller/entity_category/Delete.d.ts +21 -0
  17. package/dist/controller/entity_category/Delete.js +63 -0
  18. package/dist/controller/entity_category/Delete.js.map +1 -0
  19. package/dist/controller/entity_category/Get.d.ts +22 -0
  20. package/dist/controller/entity_category/Get.js +65 -0
  21. package/dist/controller/entity_category/Get.js.map +1 -0
  22. package/dist/controller/entity_category/List.d.ts +27 -0
  23. package/dist/controller/entity_category/List.js +64 -0
  24. package/dist/controller/entity_category/List.js.map +1 -0
  25. package/dist/controller/entity_category/Update.d.ts +21 -0
  26. package/dist/controller/entity_category/Update.js +66 -0
  27. package/dist/controller/entity_category/Update.js.map +1 -0
  28. package/dist/controller/entity_field/Create.d.ts +21 -0
  29. package/dist/controller/entity_field/Create.js +66 -0
  30. package/dist/controller/entity_field/Create.js.map +1 -0
  31. package/dist/controller/entity_field/Delete.d.ts +21 -0
  32. package/dist/controller/entity_field/Delete.js +63 -0
  33. package/dist/controller/entity_field/Delete.js.map +1 -0
  34. package/dist/controller/entity_field/Get.d.ts +22 -0
  35. package/dist/controller/entity_field/Get.js +65 -0
  36. package/dist/controller/entity_field/Get.js.map +1 -0
  37. package/dist/controller/entity_field/List.d.ts +27 -0
  38. package/dist/controller/entity_field/List.js +64 -0
  39. package/dist/controller/entity_field/List.js.map +1 -0
  40. package/dist/controller/entity_field/Update.d.ts +21 -0
  41. package/dist/controller/entity_field/Update.js +68 -0
  42. package/dist/controller/entity_field/Update.js.map +1 -0
  43. package/dist/controller/entity_tag/Create.d.ts +21 -0
  44. package/dist/controller/entity_tag/Create.js +66 -0
  45. package/dist/controller/entity_tag/Create.js.map +1 -0
  46. package/dist/controller/entity_tag/Delete.d.ts +21 -0
  47. package/dist/controller/entity_tag/Delete.js +63 -0
  48. package/dist/controller/entity_tag/Delete.js.map +1 -0
  49. package/dist/controller/entity_tag/Get.d.ts +22 -0
  50. package/dist/controller/entity_tag/Get.js +65 -0
  51. package/dist/controller/entity_tag/Get.js.map +1 -0
  52. package/dist/controller/entity_tag/List.d.ts +27 -0
  53. package/dist/controller/entity_tag/List.js +64 -0
  54. package/dist/controller/entity_tag/List.js.map +1 -0
  55. package/dist/controller/entity_tag/Update.d.ts +21 -0
  56. package/dist/controller/entity_tag/Update.js +68 -0
  57. package/dist/controller/entity_tag/Update.js.map +1 -0
  58. package/dist/database/DatabaseTables.d.ts +13 -0
  59. package/dist/database/DatabaseTables.js +33 -0
  60. package/dist/database/DatabaseTables.js.map +1 -0
  61. package/dist/database/attributes/EntityCategoryAttributes.d.ts +3 -0
  62. package/dist/database/attributes/EntityCategoryAttributes.js +11 -0
  63. package/dist/database/attributes/EntityCategoryAttributes.js.map +1 -0
  64. package/dist/database/attributes/EntityFieldAttributes.d.ts +3 -0
  65. package/dist/database/attributes/EntityFieldAttributes.js +13 -0
  66. package/dist/database/attributes/EntityFieldAttributes.js.map +1 -0
  67. package/dist/database/attributes/EntityTagAttributes.d.ts +3 -0
  68. package/dist/database/attributes/EntityTagAttributes.js +13 -0
  69. package/dist/database/attributes/EntityTagAttributes.js.map +1 -0
  70. package/dist/database/model/EntityCategoryModel.d.ts +7 -0
  71. package/dist/database/model/EntityCategoryModel.js +9 -0
  72. package/dist/database/model/EntityCategoryModel.js.map +1 -0
  73. package/dist/database/model/EntityFieldModel.d.ts +9 -0
  74. package/dist/database/model/EntityFieldModel.js +8 -0
  75. package/dist/database/model/EntityFieldModel.js.map +1 -0
  76. package/dist/database/model/EntityTagModel.d.ts +9 -0
  77. package/dist/database/model/EntityTagModel.js +8 -0
  78. package/dist/database/model/EntityTagModel.js.map +1 -0
  79. package/dist/database/table/EntityCategoryTable.d.ts +17 -0
  80. package/dist/database/table/EntityCategoryTable.js +65 -0
  81. package/dist/database/table/EntityCategoryTable.js.map +1 -0
  82. package/dist/database/table/EntityFieldTable.d.ts +17 -0
  83. package/dist/database/table/EntityFieldTable.js +69 -0
  84. package/dist/database/table/EntityFieldTable.js.map +1 -0
  85. package/dist/database/table/EntityTagTable.d.ts +17 -0
  86. package/dist/database/table/EntityTagTable.js +69 -0
  87. package/dist/database/table/EntityTagTable.js.map +1 -0
  88. package/dist/enum/EntityCategoryNames.d.ts +3 -0
  89. package/dist/enum/EntityCategoryNames.js +9 -0
  90. package/dist/enum/EntityCategoryNames.js.map +1 -0
  91. package/dist/enum/EntityFieldNames.d.ts +3 -0
  92. package/dist/enum/EntityFieldNames.js +9 -0
  93. package/dist/enum/EntityFieldNames.js.map +1 -0
  94. package/dist/enum/EntityTagNames.d.ts +3 -0
  95. package/dist/enum/EntityTagNames.js +9 -0
  96. package/dist/enum/EntityTagNames.js.map +1 -0
  97. package/dist/index.d.ts +1 -0
  98. package/dist/index.js +18 -0
  99. package/dist/index.js.map +1 -0
  100. package/logo.png +0 -0
  101. package/package.json +28 -0
  102. package/src/Application.ts +43 -0
  103. package/src/controller/BaseEntityFieldController.ts +22 -0
  104. package/src/controller/BaseEntityFieldControllerProps.ts +5 -0
  105. package/src/controller/BaseEntityFieldControllerState.ts +5 -0
  106. package/src/controller/entity_category/Create.ts +52 -0
  107. package/src/controller/entity_category/Delete.ts +48 -0
  108. package/src/controller/entity_category/Get.ts +51 -0
  109. package/src/controller/entity_category/List.ts +50 -0
  110. package/src/controller/entity_category/Update.ts +53 -0
  111. package/src/controller/entity_field/Create.ts +55 -0
  112. package/src/controller/entity_field/Delete.ts +48 -0
  113. package/src/controller/entity_field/Get.ts +51 -0
  114. package/src/controller/entity_field/List.ts +50 -0
  115. package/src/controller/entity_field/Update.ts +57 -0
  116. package/src/controller/entity_tag/Create.ts +55 -0
  117. package/src/controller/entity_tag/Delete.ts +48 -0
  118. package/src/controller/entity_tag/Get.ts +51 -0
  119. package/src/controller/entity_tag/List.ts +50 -0
  120. package/src/controller/entity_tag/Update.ts +57 -0
  121. package/src/database/DatabaseTables.ts +40 -0
  122. package/src/database/attributes/EntityCategoryAttributes.ts +12 -0
  123. package/src/database/attributes/EntityFieldAttributes.ts +14 -0
  124. package/src/database/attributes/EntityTagAttributes.ts +14 -0
  125. package/src/database/model/EntityCategoryModel.ts +9 -0
  126. package/src/database/model/EntityFieldModel.ts +11 -0
  127. package/src/database/model/EntityTagModel.ts +11 -0
  128. package/src/database/table/EntityCategoryTable.ts +63 -0
  129. package/src/database/table/EntityFieldTable.ts +67 -0
  130. package/src/database/table/EntityTagTable.ts +67 -0
  131. package/src/enum/EntityCategoryNames.ts +4 -0
  132. package/src/enum/EntityFieldNames.ts +4 -0
  133. package/src/enum/EntityTagNames.ts +4 -0
  134. package/src/index.ts +1 -0
  135. package/tsconfig.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityFieldTable.js","sourceRoot":"","sources":["../../../src/database/table/EntityFieldTable.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAA8E;AAK9E,kEAA+D;AAG/D,MAAa,gBAAqD,SAAQ,0CAA8C;IAGpH,YAAY,GAAiC,EAAE,QAAkB;QAE7D,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IACQ,kBAAkB;QAEvB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IACQ,cAAc;QAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,mCAAgB,CAAC,CAAC;IACzC,CAAC;IACkB,eAAe,CAAC,MAAoB;QAEnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACK,GAAG,CAAC,OAAe,EAAE,EAAU,EAAE,GAAuB;;YAE1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;KAAA;IACK,MAAM,CAAC,OAAmB,EAAE,QAAgB,EAAE,KAAa,EAAE,WAAmB,EAAE,GAAuB;;YAE3G,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAS,EAAE;gBAEtD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ;oBACR,KAAK;oBACL,WAAW;iBACd,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IACK,MAAM,CAAC,OAAmB,EAAE,EAAU,EAAE,QAAgB,EAAE,KAAa,EAAE,WAAmB,EAAE,GAAuB;;YAEvH,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAS,EAAE;gBAE5D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC,CAAA,EAAE,CAAO,IAAI,EAAE,EAAE;gBAEd,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC/B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IACK,MAAM,CAAC,OAAmB,EAAE,EAAU,EAAE,GAAuB;;YAEjE,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAS,EAAE;gBAErD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7E,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;YAChB,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;CACJ;AA1DD,4CA0DC"}
@@ -0,0 +1,17 @@
1
+ import { BaseMySqlDatabase, BaseSequelizeTable } from "namirasoft-node-mysql";
2
+ import { Transaction } from "sequelize";
3
+ import { EntityTagModel } from "../model/EntityTagModel";
4
+ import { ObjectSchema } from "namirasoft-schema";
5
+ import { SessionRow } from "namirasoft-account";
6
+ import { NSABaseApplication } from "namirasoft-account-node";
7
+ export declare class EntityTagTable<Database extends BaseMySqlDatabase> extends BaseSequelizeTable<Database, EntityTagModel> {
8
+ app: NSABaseApplication<Database>;
9
+ constructor(app: NSABaseApplication<Database>, database: Database);
10
+ getReadOnlyColumns(): string[];
11
+ getSchemaNames(): string[];
12
+ protected setSchemaByName(schema: ObjectSchema): void;
13
+ get(user_id: string, id: string, trx: Transaction | null): Promise<EntityTagModel | null>;
14
+ create(session: SessionRow, name: string, value: string, description: string, trx: Transaction | null): Promise<EntityTagModel>;
15
+ update(session: SessionRow, id: string, name: string, value: string, description: string, trx: Transaction | null): Promise<EntityTagModel>;
16
+ delete(session: SessionRow, id: string, trx: Transaction | null): Promise<void>;
17
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EntityTagTable = void 0;
13
+ const namirasoft_node_mysql_1 = require("namirasoft-node-mysql");
14
+ const EntityTagNames_1 = require("../../enum/EntityTagNames");
15
+ class EntityTagTable extends namirasoft_node_mysql_1.BaseSequelizeTable {
16
+ constructor(app, database) {
17
+ super(database);
18
+ this.app = app;
19
+ }
20
+ getReadOnlyColumns() {
21
+ return ["id", "user_id", "entity_id"];
22
+ }
23
+ getSchemaNames() {
24
+ return Object.keys(EntityTagNames_1.EntityTagNames);
25
+ }
26
+ setSchemaByName(schema) {
27
+ schema.delReadOnly(true);
28
+ }
29
+ get(user_id, id, trx) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return yield this.find({ where: { user_id, id }, }, trx);
32
+ });
33
+ }
34
+ create(session, name, value, description, trx) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ return this.app.onHistoryCreate(this, session, () => __awaiter(this, void 0, void 0, function* () {
37
+ return yield this.model.create({
38
+ user_id: session.user_id,
39
+ name,
40
+ value,
41
+ description,
42
+ }, { transaction: trx });
43
+ }));
44
+ });
45
+ }
46
+ update(session, id, name, value, description, trx) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ return yield this.app.onHistoryUpdate(this, session, () => __awaiter(this, void 0, void 0, function* () {
49
+ return yield this.find({ where: { user_id: session.user_id, id } }, trx);
50
+ }), (item) => __awaiter(this, void 0, void 0, function* () {
51
+ item.name = name;
52
+ item.value = value;
53
+ item.description = description;
54
+ return yield item.save({ transaction: trx });
55
+ }));
56
+ });
57
+ }
58
+ delete(session, id, trx) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ yield this.app.onHistoryDelete(this, session, () => __awaiter(this, void 0, void 0, function* () {
61
+ let item = yield this.find({ where: { user_id: session.user_id, id } }, trx);
62
+ yield item.destroy({ transaction: trx });
63
+ return item;
64
+ }));
65
+ });
66
+ }
67
+ }
68
+ exports.EntityTagTable = EntityTagTable;
69
+ //# sourceMappingURL=EntityTagTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityTagTable.js","sourceRoot":"","sources":["../../../src/database/table/EntityTagTable.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAA8E;AAK9E,8DAA2D;AAG3D,MAAa,cAAmD,SAAQ,0CAA4C;IAGhH,YAAY,GAAiC,EAAE,QAAkB;QAE7D,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IACQ,kBAAkB;QAEvB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IACQ,cAAc;QAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,+BAAc,CAAC,CAAC;IACvC,CAAC;IACkB,eAAe,CAAC,MAAoB;QAEnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACK,GAAG,CAAC,OAAe,EAAE,EAAU,EAAE,GAAuB;;YAE1D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;KAAA;IACK,MAAM,CAAC,OAAmB,EAAE,IAAY,EAAE,KAAa,EAAE,WAAmB,EAAE,GAAuB;;YAEvG,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAS,EAAE;gBAEtD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI;oBACJ,KAAK;oBACL,WAAW;iBACd,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IACK,MAAM,CAAC,OAAmB,EAAE,EAAU,EAAE,IAAY,EAAE,KAAa,EAAE,WAAmB,EAAE,GAAuB;;YAEnH,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAS,EAAE;gBAE5D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC,CAAA,EAAE,CAAO,IAAI,EAAE,EAAE;gBAEd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC/B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IACK,MAAM,CAAC,OAAmB,EAAE,EAAU,EAAE,GAAuB;;YAEjE,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAS,EAAE;gBAErD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7E,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;YAChB,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;CACJ;AA1DD,wCA0DC"}
@@ -0,0 +1,3 @@
1
+ export declare enum EntityCategoryNames {
2
+ EntityCategoryInput = "EntityCategoryInput"
3
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityCategoryNames = void 0;
4
+ var EntityCategoryNames;
5
+ (function (EntityCategoryNames) {
6
+ EntityCategoryNames["EntityCategoryInput"] = "EntityCategoryInput";
7
+ })(EntityCategoryNames || (exports.EntityCategoryNames = EntityCategoryNames = {}));
8
+ ;
9
+ //# sourceMappingURL=EntityCategoryNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityCategoryNames.js","sourceRoot":"","sources":["../../src/enum/EntityCategoryNames.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAE3B,kEAA2C,CAAA;AAC/C,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AAAA,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare enum EntityFieldNames {
2
+ EntityFieldInput = "EntityFieldInput"
3
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityFieldNames = void 0;
4
+ var EntityFieldNames;
5
+ (function (EntityFieldNames) {
6
+ EntityFieldNames["EntityFieldInput"] = "EntityFieldInput";
7
+ })(EntityFieldNames || (exports.EntityFieldNames = EntityFieldNames = {}));
8
+ ;
9
+ //# sourceMappingURL=EntityFieldNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityFieldNames.js","sourceRoot":"","sources":["../../src/enum/EntityFieldNames.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAExB,yDAAqC,CAAA;AACzC,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAAA,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare enum EntityTagNames {
2
+ EntityTagInput = "EntityTagInput"
3
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityTagNames = void 0;
4
+ var EntityTagNames;
5
+ (function (EntityTagNames) {
6
+ EntityTagNames["EntityTagInput"] = "EntityTagInput";
7
+ })(EntityTagNames || (exports.EntityTagNames = EntityTagNames = {}));
8
+ ;
9
+ //# sourceMappingURL=EntityTagNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityTagNames.js","sourceRoot":"","sources":["../../src/enum/EntityTagNames.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAGX;AAHD,WAAY,cAAc;IAEtB,mDAAiC,CAAA;AACrC,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAAA,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./Application";
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Application"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
package/logo.png ADDED
Binary file
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "namirasoft-field-node",
3
+ "title": "Namirasoft Field Node NPM Package",
4
+ "description": "Namira Software Corporation Namirasoft Field Node NPM Package",
5
+ "icon": "logo.png",
6
+ "logo": "https://static.namirasoft.com/image/namirasoft/field/logo/base.png",
7
+ "language": "ts",
8
+ "framework": "npm",
9
+ "application": "package",
10
+ "private": false,
11
+ "version": "1.3.4",
12
+ "author": "Amir Abolhasani",
13
+ "license": "MIT",
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "scripts": {
17
+ "build": ""
18
+ },
19
+ "dependencies": {
20
+ "namirasoft-account-node": "^1.3.51",
21
+ "namirasoft-core": "^1.3.34",
22
+ "namirasoft-node": "^1.3.41",
23
+ "namirasoft-node-mysql": "^1.3.13"
24
+ },
25
+ "bin": {
26
+ "ns-field": "./dist/command/cli.js"
27
+ }
28
+ }
@@ -0,0 +1,43 @@
1
+ import express from 'express';
2
+ import { NSABaseApplication } from 'namirasoft-account-node';
3
+ import { BaseMySqlDatabase } from 'namirasoft-node-mysql';
4
+ import { DatabaseTables } from './database/DatabaseTables';
5
+ import { Create as EntityCategoryCreate } from './controller/entity_category/Create';
6
+ import { Delete as EntityCategoryDelete } from './controller/entity_category/Delete';
7
+ import { Get as EntityCategoryGet } from './controller/entity_category/Get';
8
+ import { List as EntityCategoryList } from './controller/entity_category/List';
9
+ import { Update as EntityCategoryUpdate } from './controller/entity_category/Update';
10
+ import { Create as EntityFieldCreate } from './controller/entity_field/Create';
11
+ import { Delete as EntityFieldDelete } from './controller/entity_field/Delete';
12
+ import { Get as EntityFieldGet } from './controller/entity_field/Get';
13
+ import { List as EntityFieldList } from './controller/entity_field/List';
14
+ import { Update as EntityFieldUpdate } from './controller/entity_field/Update';
15
+ import { Create as EntityTagCreate } from './controller/entity_tag/Create';
16
+ import { Delete as EntityTagDelete } from './controller/entity_tag/Delete';
17
+ import { Get as EntityTagGet } from './controller/entity_tag/Get';
18
+ import { List as EntityTagList } from './controller/entity_tag/List';
19
+ import { Update as EntityTagUpdate } from './controller/entity_tag/Update';
20
+
21
+ export class Application
22
+ {
23
+ static getControllers(_getDatabase: () => BaseMySqlDatabase, tables: DatabaseTables<BaseMySqlDatabase>): ((app: NSABaseApplication<BaseMySqlDatabase>, req: express.Request, res: express.Response) => any)[]
24
+ {
25
+ return [
26
+ (app, req, res) => new EntityCategoryCreate(app, req, res, _getDatabase, tables),
27
+ (app, req, res) => new EntityCategoryDelete(app, req, res, _getDatabase, tables),
28
+ (app, req, res) => new EntityCategoryGet(app, req, res, _getDatabase, tables),
29
+ (app, req, res) => new EntityCategoryList(app, req, res, _getDatabase, tables),
30
+ (app, req, res) => new EntityCategoryUpdate(app, req, res, _getDatabase, tables),
31
+ (app, req, res) => new EntityFieldCreate(app, req, res, _getDatabase, tables),
32
+ (app, req, res) => new EntityFieldDelete(app, req, res, _getDatabase, tables),
33
+ (app, req, res) => new EntityFieldGet(app, req, res, _getDatabase, tables),
34
+ (app, req, res) => new EntityFieldList(app, req, res, _getDatabase, tables),
35
+ (app, req, res) => new EntityFieldUpdate(app, req, res, _getDatabase, tables),
36
+ (app, req, res) => new EntityTagCreate(app, req, res, _getDatabase, tables),
37
+ (app, req, res) => new EntityTagDelete(app, req, res, _getDatabase, tables),
38
+ (app, req, res) => new EntityTagGet(app, req, res, _getDatabase, tables),
39
+ (app, req, res) => new EntityTagList(app, req, res, _getDatabase, tables),
40
+ (app, req, res) => new EntityTagUpdate(app, req, res, _getDatabase, tables),
41
+ ];
42
+ }
43
+ }
@@ -0,0 +1,22 @@
1
+ import { NSABaseApplication, NSABaseController } from "namirasoft-account-node";
2
+ import { BaseEntityFieldControllerState } from "./BaseEntityFieldControllerState";
3
+ import { BaseEntityFieldControllerProps } from "./BaseEntityFieldControllerProps";
4
+ import { BaseMySqlDatabase } from "namirasoft-node-mysql";
5
+ import express from "express";
6
+ import { DatabaseTables } from "../database/DatabaseTables";
7
+
8
+ export abstract class BaseEntityFieldController<Output> extends NSABaseController<BaseMySqlDatabase, BaseEntityFieldControllerState, BaseEntityFieldControllerProps, Output>
9
+ {
10
+ private _getDatabase: () => BaseMySqlDatabase;
11
+ protected tables: DatabaseTables<BaseMySqlDatabase>;
12
+ constructor(app: NSABaseApplication<BaseMySqlDatabase>, req: express.Request, res: express.Response, _getDatabase: () => BaseMySqlDatabase, tables: DatabaseTables<BaseMySqlDatabase>)
13
+ {
14
+ super(app, req, res)
15
+ this._getDatabase = _getDatabase;
16
+ this.tables = tables;
17
+ }
18
+ override getDatabase(): BaseMySqlDatabase
19
+ {
20
+ return this._getDatabase();
21
+ }
22
+ }
@@ -0,0 +1,5 @@
1
+ import { NSABaseControllerProps } from "namirasoft-account-node";
2
+
3
+ export interface BaseEntityFieldControllerProps extends NSABaseControllerProps
4
+ {
5
+ }
@@ -0,0 +1,5 @@
1
+ import { NSABaseControllerState } from "namirasoft-account-node";
2
+
3
+ export interface BaseEntityFieldControllerState extends NSABaseControllerState
4
+ {
5
+ }
@@ -0,0 +1,52 @@
1
+ import { HTTPMethod, ObjectService } from "namirasoft-core";
2
+ import { EntityCategoryModel } from "../../database/model/EntityCategoryModel";
3
+ import { BaseEntityFieldController } from "../BaseEntityFieldController";
4
+ import { EntityFieldNames } from "../../enum/EntityFieldNames";
5
+
6
+ export class Create extends BaseEntityFieldController<EntityCategoryModel>
7
+ {
8
+ override getInfo()
9
+ {
10
+ return {
11
+ name: "Create",
12
+ tag: "Category",
13
+ method: HTTPMethod.POST,
14
+ path: "/category",
15
+ summary: "Creates a new category"
16
+ }
17
+ }
18
+ override async getParametersSchema()
19
+ {
20
+ return [];
21
+ }
22
+ override async getQueriesSchema()
23
+ {
24
+ return [];
25
+ }
26
+ override async getBodySchema()
27
+ {
28
+ return this.tables.entity_category.getSchemaByName(true, EntityFieldNames.EntityFieldInput);
29
+ }
30
+ override async getOutputSchema()
31
+ {
32
+ return this.tables.entity_category.getSchemaByName(true);
33
+ }
34
+ override async getState()
35
+ {
36
+ return {
37
+ check_auth: true,
38
+ auth_optional: false
39
+ };
40
+ }
41
+ override async handle()
42
+ {
43
+ let session = await this.props.getSession();
44
+
45
+ let category_id = new ObjectService(this.req.body.category_id).getString();
46
+
47
+ let ans = await this.tables.entity_category.create(session,
48
+ category_id,
49
+ null);
50
+ return await this.tables.entity_category.secure(ans);
51
+ }
52
+ }
@@ -0,0 +1,48 @@
1
+ import { HTTPMethod, ObjectService } from "namirasoft-core";
2
+ import { BaseEntityFieldController } from "../BaseEntityFieldController";
3
+ import { StringSchema, BaseVariableSchema } from "namirasoft-schema";
4
+
5
+ export class Delete extends BaseEntityFieldController<void>
6
+ {
7
+ override getInfo()
8
+ {
9
+ return {
10
+ name: "Delete",
11
+ tag: "Category",
12
+ method: HTTPMethod.DELETE,
13
+ path: "/category/{id}",
14
+ summary: "Deletes an category by id."
15
+ }
16
+ }
17
+ override async getParametersSchema()
18
+ {
19
+ return [new BaseVariableSchema("id", new StringSchema(true))];
20
+ }
21
+ override async getQueriesSchema()
22
+ {
23
+ return [];
24
+ }
25
+ override async getBodySchema()
26
+ {
27
+ return null;
28
+ }
29
+ override async getOutputSchema()
30
+ {
31
+ return null;
32
+ }
33
+ override async getState()
34
+ {
35
+ return {
36
+ check_auth: true,
37
+ auth_optional: false
38
+ };
39
+ }
40
+ override async handle()
41
+ {
42
+ let session = await this.props.getSession();
43
+
44
+ let id = new ObjectService(this.req.params.id).getString();
45
+
46
+ await this.tables.entity_category.delete(session, id, null);
47
+ }
48
+ }
@@ -0,0 +1,51 @@
1
+ import { HTTPMethod, ObjectService } from "namirasoft-core";
2
+ import { BaseEntityFieldController } from "../BaseEntityFieldController";
3
+ import { EntityCategoryModel } from "../../database/model/EntityCategoryModel";
4
+ import { StringSchema, BaseVariableSchema } from "namirasoft-schema";
5
+
6
+ export class Get extends BaseEntityFieldController<EntityCategoryModel>
7
+ {
8
+ override getInfo()
9
+ {
10
+ return {
11
+ name: "Get",
12
+ tag: "Category",
13
+ method: HTTPMethod.GET,
14
+ path: "/category/{id}",
15
+ summary: "Returns an category by id."
16
+ }
17
+ }
18
+ override async getParametersSchema()
19
+ {
20
+ return [new BaseVariableSchema("id", new StringSchema(true))];
21
+ }
22
+ override async getQueriesSchema()
23
+ {
24
+ return [];
25
+ }
26
+ override async getBodySchema()
27
+ {
28
+ return null;
29
+ }
30
+ override async getOutputSchema()
31
+ {
32
+ return this.tables.entity_category.getSchemaByName(true);
33
+ }
34
+ override async getState()
35
+ {
36
+ return {
37
+ check_auth: true,
38
+ auth_optional: false
39
+ };
40
+ }
41
+ override async handle()
42
+ {
43
+ let session = await this.props.getSession();
44
+ let user_id = session.user_id;
45
+
46
+ let id = new ObjectService(this.req.params.id).getString();
47
+
48
+ let ans = await this.tables.entity_category.get(user_id, id, null);
49
+ return await this.tables.entity_category.secure(ans);
50
+ }
51
+ }
@@ -0,0 +1,50 @@
1
+ import { HTTPMethod } from "namirasoft-core";
2
+ import { BaseEntityFieldController } from "../BaseEntityFieldController";
3
+ import { EntityCategoryModel } from "../../database/model/EntityCategoryModel";
4
+ import { NSControllerList } from "namirasoft-site-node";
5
+
6
+ export class List extends BaseEntityFieldController<{ rows: EntityCategoryModel[], count: number }>
7
+ {
8
+ override getInfo()
9
+ {
10
+ return {
11
+ name: "List",
12
+ tag: "Category",
13
+ method: HTTPMethod.GET,
14
+ path: "/category/list",
15
+ summary: "Returns all categories."
16
+ }
17
+ }
18
+ override async getParametersSchema()
19
+ {
20
+ return [];
21
+ }
22
+ override async getQueriesSchema()
23
+ {
24
+ return NSControllerList.getQueriesSchema();
25
+ }
26
+ override async getBodySchema()
27
+ {
28
+ return null;
29
+ }
30
+ override async getOutputSchema()
31
+ {
32
+ return NSControllerList.getOutputSchema(this.tables.entity_category.getArraySchemaByName(true));
33
+ }
34
+ override async getState()
35
+ {
36
+ return {
37
+ check_auth: true,
38
+ auth_optional: false
39
+ };
40
+ }
41
+ override async handle()
42
+ {
43
+ let session = await this.props.getSession();
44
+ let user_id = session.user_id;
45
+
46
+ let { filters, page, size } = NSControllerList.handle_GetQueries(this.req);
47
+
48
+ return await this.tables.entity_category.list({ user_id }, filters, page, size, {}, null);
49
+ }
50
+ }
@@ -0,0 +1,53 @@
1
+ import { HTTPMethod, ObjectService } from "namirasoft-core";
2
+ import { BaseEntityFieldController } from "../BaseEntityFieldController";
3
+ import { StringSchema, BaseVariableSchema } from "namirasoft-schema";
4
+ import { EntityCategoryNames } from "../../enum/EntityCategoryNames";
5
+ export class Update extends BaseEntityFieldController<string>
6
+ {
7
+ override getInfo()
8
+ {
9
+ return {
10
+ name: "Update",
11
+ tag: "Category",
12
+ method: HTTPMethod.PUT,
13
+ path: "/category/{id}",
14
+ summary: "Updates a category"
15
+ }
16
+ }
17
+ override async getParametersSchema()
18
+ {
19
+ return [new BaseVariableSchema("id", new StringSchema(true))];
20
+ }
21
+ override async getQueriesSchema()
22
+ {
23
+ return [];
24
+ }
25
+ override async getBodySchema()
26
+ {
27
+ return this.tables.entity_category.getSchemaByName(true, EntityCategoryNames.EntityCategoryInput);
28
+ }
29
+ override async getOutputSchema()
30
+ {
31
+ return this.tables.entity_category.getSchemaByName(true);
32
+ }
33
+ override async getState()
34
+ {
35
+ return {
36
+ check_auth: true,
37
+ auth_optional: false
38
+ };
39
+ }
40
+ override async handle()
41
+ {
42
+ let session = await this.props.getSession();
43
+
44
+ let id = new ObjectService(this.req.params.id).getString();
45
+
46
+ let categoryy_id = new ObjectService(this.req.body.categoryy_id).getString();
47
+
48
+ let ans = await this.tables.entity_category.update(session, id,
49
+ categoryy_id,
50
+ null);
51
+ return await this.tables.entity_category.secure(ans);
52
+ }
53
+ }
@@ -0,0 +1,55 @@
1
+ import { HTTPMethod, ObjectService } from "namirasoft-core";
2
+ import { BaseEntityFieldController } from "../BaseEntityFieldController";
3
+ import { EntityFieldModel } from "../../database/model/EntityFieldModel";
4
+ import { EntityFieldNames } from "../../enum/EntityFieldNames";
5
+ export class Create extends BaseEntityFieldController<EntityFieldModel>
6
+ {
7
+ override getInfo()
8
+ {
9
+ return {
10
+ name: "Create",
11
+ tag: "Field",
12
+ method: HTTPMethod.POST,
13
+ path: "/field",
14
+ summary: "Creates a new field"
15
+ };
16
+ }
17
+ override async getParametersSchema()
18
+ {
19
+ return [];
20
+ }
21
+ override async getQueriesSchema()
22
+ {
23
+ return [];
24
+ }
25
+ override async getBodySchema()
26
+ {
27
+ return this.tables.entity_field.getSchemaByName(true, EntityFieldNames.EntityFieldInput);
28
+ }
29
+ override async getOutputSchema()
30
+ {
31
+ return this.tables.entity_field.getSchemaByName(true);
32
+ }
33
+ override async getState()
34
+ {
35
+ return {
36
+ check_auth: true,
37
+ auth_optional: false
38
+ };
39
+ }
40
+ override async handle()
41
+ {
42
+ let session = await this.props.getSession();
43
+
44
+ let field_id = new ObjectService(this.req.body.field_id).getString();
45
+ let value = new ObjectService(this.req.body.value).getString();
46
+ let description = new ObjectService(this.req.body.description).getString();
47
+
48
+ let ans = await this.tables.entity_field.create(session,
49
+ field_id,
50
+ value,
51
+ description,
52
+ null);
53
+ return await this.tables.entity_field.secure(ans);
54
+ }
55
+ }
@@ -0,0 +1,48 @@
1
+ import { HTTPMethod, ObjectService } from "namirasoft-core";
2
+ import { BaseEntityFieldController } from "../BaseEntityFieldController";
3
+ import { StringSchema, BaseVariableSchema } from "namirasoft-schema";
4
+
5
+ export class Delete extends BaseEntityFieldController<void>
6
+ {
7
+ override getInfo()
8
+ {
9
+ return {
10
+ name: "Delete",
11
+ tag: "Field",
12
+ method: HTTPMethod.DELETE,
13
+ path: "/field/{id}",
14
+ summary: "Deletes an field by id."
15
+ };
16
+ }
17
+ override async getParametersSchema()
18
+ {
19
+ return [new BaseVariableSchema("id", new StringSchema(true))];
20
+ }
21
+ override async getQueriesSchema()
22
+ {
23
+ return [];
24
+ }
25
+ override async getBodySchema()
26
+ {
27
+ return null;
28
+ }
29
+ override async getOutputSchema()
30
+ {
31
+ return null;
32
+ }
33
+ override async getState()
34
+ {
35
+ return {
36
+ check_auth: true,
37
+ auth_optional: false
38
+ };
39
+ }
40
+ override async handle()
41
+ {
42
+ let session = await this.props.getSession();
43
+
44
+ let id = new ObjectService(this.req.params.id).getString();
45
+
46
+ await this.tables.entity_field.delete(session, id, null);
47
+ }
48
+ }