jourycms-sdk 1.0.1

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 (235) hide show
  1. package/dist/base.app-container.d.ts +7 -0
  2. package/dist/base.app-container.d.ts.map +1 -0
  3. package/dist/base.app-container.js +10 -0
  4. package/dist/base.client.d.ts +10 -0
  5. package/dist/base.client.d.ts.map +1 -0
  6. package/dist/base.client.js +16 -0
  7. package/dist/base.service-container.d.ts +8 -0
  8. package/dist/base.service-container.d.ts.map +1 -0
  9. package/dist/base.service-container.js +12 -0
  10. package/dist/containers/auth/clients/api-keys.client.d.ts +13 -0
  11. package/dist/containers/auth/clients/api-keys.client.d.ts.map +1 -0
  12. package/dist/containers/auth/clients/api-keys.client.js +48 -0
  13. package/dist/containers/auth/clients/auth.client.d.ts +12 -0
  14. package/dist/containers/auth/clients/auth.client.d.ts.map +1 -0
  15. package/dist/containers/auth/clients/auth.client.js +39 -0
  16. package/dist/containers/auth/clients/permission-groups.client.d.ts +12 -0
  17. package/dist/containers/auth/clients/permission-groups.client.d.ts.map +1 -0
  18. package/dist/containers/auth/clients/permission-groups.client.js +42 -0
  19. package/dist/containers/auth/clients/permissions.client.d.ts +13 -0
  20. package/dist/containers/auth/clients/permissions.client.d.ts.map +1 -0
  21. package/dist/containers/auth/clients/permissions.client.js +48 -0
  22. package/dist/containers/auth/clients/roles.client.d.ts +17 -0
  23. package/dist/containers/auth/clients/roles.client.d.ts.map +1 -0
  24. package/dist/containers/auth/clients/roles.client.js +72 -0
  25. package/dist/containers/auth/clients/users.client.d.ts +26 -0
  26. package/dist/containers/auth/clients/users.client.d.ts.map +1 -0
  27. package/dist/containers/auth/clients/users.client.js +128 -0
  28. package/dist/containers/auth/service-container.d.ts +23 -0
  29. package/dist/containers/auth/service-container.d.ts.map +1 -0
  30. package/dist/containers/auth/service-container.js +48 -0
  31. package/dist/containers/content/clients/article-types.client.d.ts +15 -0
  32. package/dist/containers/content/clients/article-types.client.d.ts.map +1 -0
  33. package/dist/containers/content/clients/article-types.client.js +60 -0
  34. package/dist/containers/content/clients/articles.client.d.ts +15 -0
  35. package/dist/containers/content/clients/articles.client.d.ts.map +1 -0
  36. package/dist/containers/content/clients/articles.client.js +60 -0
  37. package/dist/containers/content/clients/comments.client.d.ts +15 -0
  38. package/dist/containers/content/clients/comments.client.d.ts.map +1 -0
  39. package/dist/containers/content/clients/comments.client.js +60 -0
  40. package/dist/containers/content/clients/reviews.client.d.ts +15 -0
  41. package/dist/containers/content/clients/reviews.client.d.ts.map +1 -0
  42. package/dist/containers/content/clients/reviews.client.js +60 -0
  43. package/dist/containers/content/clients/taxonomies.client.d.ts +15 -0
  44. package/dist/containers/content/clients/taxonomies.client.d.ts.map +1 -0
  45. package/dist/containers/content/clients/taxonomies.client.js +60 -0
  46. package/dist/containers/content/clients/terms.client.d.ts +15 -0
  47. package/dist/containers/content/clients/terms.client.d.ts.map +1 -0
  48. package/dist/containers/content/clients/terms.client.js +60 -0
  49. package/dist/containers/content/clients/translation.items.client.d.ts +16 -0
  50. package/dist/containers/content/clients/translation.items.client.d.ts.map +1 -0
  51. package/dist/containers/content/clients/translation.items.client.js +66 -0
  52. package/dist/containers/content/clients/translation.namespaces.client.d.ts +16 -0
  53. package/dist/containers/content/clients/translation.namespaces.client.d.ts.map +1 -0
  54. package/dist/containers/content/clients/translation.namespaces.client.js +66 -0
  55. package/dist/containers/content/clients/translation.projects.client.d.ts +16 -0
  56. package/dist/containers/content/clients/translation.projects.client.d.ts.map +1 -0
  57. package/dist/containers/content/clients/translation.projects.client.js +66 -0
  58. package/dist/containers/content/service-container.d.ts +29 -0
  59. package/dist/containers/content/service-container.d.ts.map +1 -0
  60. package/dist/containers/content/service-container.js +66 -0
  61. package/dist/containers/storage/clients/files.client.d.ts +13 -0
  62. package/dist/containers/storage/clients/files.client.d.ts.map +1 -0
  63. package/dist/containers/storage/clients/files.client.js +48 -0
  64. package/dist/containers/storage/clients/uploader.client.d.ts +6 -0
  65. package/dist/containers/storage/clients/uploader.client.d.ts.map +1 -0
  66. package/dist/containers/storage/clients/uploader.client.js +12 -0
  67. package/dist/containers/storage/clients/utils.client.d.ts +15 -0
  68. package/dist/containers/storage/clients/utils.client.d.ts.map +1 -0
  69. package/dist/containers/storage/clients/utils.client.js +45 -0
  70. package/dist/containers/storage/service-container.d.ts +31 -0
  71. package/dist/containers/storage/service-container.d.ts.map +1 -0
  72. package/dist/containers/storage/service-container.js +63 -0
  73. package/dist/containers/system/clients/apps.client.d.ts +16 -0
  74. package/dist/containers/system/clients/apps.client.d.ts.map +1 -0
  75. package/dist/containers/system/clients/apps.client.js +66 -0
  76. package/dist/containers/system/service-container.d.ts +13 -0
  77. package/dist/containers/system/service-container.d.ts.map +1 -0
  78. package/dist/containers/system/service-container.js +18 -0
  79. package/dist/exceptions/api-response.exception.d.ts +15 -0
  80. package/dist/exceptions/api-response.exception.d.ts.map +1 -0
  81. package/dist/exceptions/api-response.exception.js +26 -0
  82. package/dist/http-client.d.ts +20 -0
  83. package/dist/http-client.d.ts.map +1 -0
  84. package/dist/http-client.js +187 -0
  85. package/dist/index.d.ts +37 -0
  86. package/dist/index.d.ts.map +1 -0
  87. package/dist/index.js +237 -0
  88. package/dist/init-sdk.d.ts +21 -0
  89. package/dist/init-sdk.d.ts.map +1 -0
  90. package/dist/init-sdk.js +17 -0
  91. package/dist/sdk.test.d.ts +1 -0
  92. package/dist/sdk.test.d.ts.map +1 -0
  93. package/dist/sdk.test.js +1 -0
  94. package/dist/utils/helpers.d.ts +5 -0
  95. package/dist/utils/helpers.d.ts.map +1 -0
  96. package/dist/utils/helpers.js +13 -0
  97. package/dist/utils/logger.d.ts +133 -0
  98. package/dist/utils/logger.d.ts.map +1 -0
  99. package/dist/utils/logger.js +176 -0
  100. package/package.json +49 -0
  101. package/typings/index.d.ts +1 -0
  102. package/typings/v1/cache-manager/class.d.ts +0 -0
  103. package/typings/v1/cache-manager/entity.d.ts +83 -0
  104. package/typings/v1/cache-manager/index.d.ts +5 -0
  105. package/typings/v1/cache-manager/store.d.ts +35 -0
  106. package/typings/v1/events/index.d.ts +3 -0
  107. package/typings/v1/events/payloads.d.ts +339 -0
  108. package/typings/v1/index.d.ts +8 -0
  109. package/typings/v1/lib/execution-scenario/index.d.ts +27 -0
  110. package/typings/v1/lib/index.d.ts +4 -0
  111. package/typings/v1/lib/logger/index.d.ts +3 -0
  112. package/typings/v1/lib/logger/logger.d.ts +53 -0
  113. package/typings/v1/modules/express/express.d.ts +40 -0
  114. package/typings/v1/modules/express/index.d.ts +3 -0
  115. package/typings/v1/modules/index.d.ts +4 -0
  116. package/typings/v1/modules/mongoose/index.d.ts +3 -0
  117. package/typings/v1/modules/mongoose/mongoose.d.ts +48 -0
  118. package/typings/v1/sdk/index.d.ts +3 -0
  119. package/typings/v1/sdk/sdk.d.ts +158 -0
  120. package/typings/v1/security/auth-data.d.ts +36 -0
  121. package/typings/v1/security/index.d.ts +4 -0
  122. package/typings/v1/security/jwt.d.ts +36 -0
  123. package/typings/v1/services/auth/api/api-key.d.ts +144 -0
  124. package/typings/v1/services/auth/api/auth.d.ts +168 -0
  125. package/typings/v1/services/auth/api/index.d.ts +9 -0
  126. package/typings/v1/services/auth/api/permission-group.d.ts +95 -0
  127. package/typings/v1/services/auth/api/permission.d.ts +128 -0
  128. package/typings/v1/services/auth/api/role.d.ts +193 -0
  129. package/typings/v1/services/auth/api/tools.d.ts +33 -0
  130. package/typings/v1/services/auth/api/user.d.ts +391 -0
  131. package/typings/v1/services/auth/entities/_shared.d.ts +11 -0
  132. package/typings/v1/services/auth/entities/api-key.d.ts +29 -0
  133. package/typings/v1/services/auth/entities/federated-credential.d.ts +22 -0
  134. package/typings/v1/services/auth/entities/index.d.ts +9 -0
  135. package/typings/v1/services/auth/entities/permission-group.d.ts +20 -0
  136. package/typings/v1/services/auth/entities/permission.d.ts +24 -0
  137. package/typings/v1/services/auth/entities/role.d.ts +25 -0
  138. package/typings/v1/services/auth/entities/user.d.ts +153 -0
  139. package/typings/v1/services/auth/index.d.ts +5 -0
  140. package/typings/v1/services/auth/models/.DS_Store +0 -0
  141. package/typings/v1/services/auth/models/api-key.d.ts +19 -0
  142. package/typings/v1/services/auth/models/api-key.model.d.ts +3 -0
  143. package/typings/v1/services/auth/models/federated-credential.d.ts +24 -0
  144. package/typings/v1/services/auth/models/index.d.ts +9 -0
  145. package/typings/v1/services/auth/models/permission-group.d.ts +24 -0
  146. package/typings/v1/services/auth/models/permission.d.ts +22 -0
  147. package/typings/v1/services/auth/models/role.d.ts +22 -0
  148. package/typings/v1/services/auth/models/user.d.ts +22 -0
  149. package/typings/v1/services/content/api/article-type.d.ts +160 -0
  150. package/typings/v1/services/content/api/article.d.ts +108 -0
  151. package/typings/v1/services/content/api/comment.d.ts +106 -0
  152. package/typings/v1/services/content/api/index.d.ts +12 -0
  153. package/typings/v1/services/content/api/review.d.ts +105 -0
  154. package/typings/v1/services/content/api/taxonomy.d.ts +101 -0
  155. package/typings/v1/services/content/api/term.d.ts +101 -0
  156. package/typings/v1/services/content/api/translation.item.d.ts +195 -0
  157. package/typings/v1/services/content/api/translation.namespace.d.ts +135 -0
  158. package/typings/v1/services/content/api/translation.project.d.ts +196 -0
  159. package/typings/v1/services/content/api/translation.tools.d.ts +85 -0
  160. package/typings/v1/services/content/entities/article-type.d.ts +51 -0
  161. package/typings/v1/services/content/entities/article.d.ts +53 -0
  162. package/typings/v1/services/content/entities/comment.d.ts +34 -0
  163. package/typings/v1/services/content/entities/index.d.ts +11 -0
  164. package/typings/v1/services/content/entities/review.d.ts +35 -0
  165. package/typings/v1/services/content/entities/taxonomy.d.ts +40 -0
  166. package/typings/v1/services/content/entities/term.d.ts +43 -0
  167. package/typings/v1/services/content/entities/translation.item.d.ts +48 -0
  168. package/typings/v1/services/content/entities/translation.namespace.d.ts +29 -0
  169. package/typings/v1/services/content/entities/translation.project.d.ts +98 -0
  170. package/typings/v1/services/content/index.d.ts +5 -0
  171. package/typings/v1/services/content/models/article-type.d.ts +19 -0
  172. package/typings/v1/services/content/models/article.d.ts +19 -0
  173. package/typings/v1/services/content/models/comment.d.ts +19 -0
  174. package/typings/v1/services/content/models/index.d.ts +11 -0
  175. package/typings/v1/services/content/models/review.d.ts +19 -0
  176. package/typings/v1/services/content/models/taxonomy.d.ts +19 -0
  177. package/typings/v1/services/content/models/term.d.ts +19 -0
  178. package/typings/v1/services/content/models/translation.item.d.ts +21 -0
  179. package/typings/v1/services/content/models/translation.namespace.d.ts +22 -0
  180. package/typings/v1/services/content/models/translation.project.d.ts +21 -0
  181. package/typings/v1/services/index.d.ts +4 -0
  182. package/typings/v1/services/storage/api/index.d.ts +3 -0
  183. package/typings/v1/services/storage/api/uploaded-file.d.ts +166 -0
  184. package/typings/v1/services/storage/entities/index.d.ts +3 -0
  185. package/typings/v1/services/storage/entities/uploaded-file.d.ts +49 -0
  186. package/typings/v1/services/storage/index.d.ts +5 -0
  187. package/typings/v1/services/storage/models/index.d.ts +3 -0
  188. package/typings/v1/services/storage/models/uploaded-file.d.ts +19 -0
  189. package/typings/v1/services/system/api/app.d.ts +130 -0
  190. package/typings/v1/services/system/api/index.d.ts +3 -0
  191. package/typings/v1/services/system/entities/app.d.ts +97 -0
  192. package/typings/v1/services/system/entities/index.d.ts +3 -0
  193. package/typings/v1/services/system/index.d.ts +5 -0
  194. package/typings/v1/services/system/models/app.d.ts +19 -0
  195. package/typings/v1/services/system/models/index.d.ts +3 -0
  196. package/typings/v1/ui/admin/index.d.ts +1 -0
  197. package/typings/v1/ui/forms/article/custom-fieds/custom-field.d.ts +189 -0
  198. package/typings/v1/ui/forms/article/custom-fieds/fields/article_object.custom-field.d.ts +29 -0
  199. package/typings/v1/ui/forms/article/custom-fieds/fields/boolean.custom-field.d.ts +24 -0
  200. package/typings/v1/ui/forms/article/custom-fieds/fields/checkbox.custom-field.d.ts +26 -0
  201. package/typings/v1/ui/forms/article/custom-fieds/fields/date.custom-field.d.ts +23 -0
  202. package/typings/v1/ui/forms/article/custom-fieds/fields/date_range.custom-field.d.ts +26 -0
  203. package/typings/v1/ui/forms/article/custom-fieds/fields/file.custom-field.d.ts +26 -0
  204. package/typings/v1/ui/forms/article/custom-fieds/fields/image.custom-field.d.ts +25 -0
  205. package/typings/v1/ui/forms/article/custom-fieds/fields/index.d.ts +11 -0
  206. package/typings/v1/ui/forms/article/custom-fieds/fields/number.custom-field.d.ts +26 -0
  207. package/typings/v1/ui/forms/article/custom-fieds/fields/radiobox.custom-field.d.ts +27 -0
  208. package/typings/v1/ui/forms/article/custom-fieds/fields/select.custom-field.d.ts +27 -0
  209. package/typings/v1/ui/forms/article/custom-fieds/fields/text.custom-field.d.ts +26 -0
  210. package/typings/v1/ui/forms/article/custom-fieds/fields/time.custom-field.d.ts +24 -0
  211. package/typings/v1/ui/forms/article/custom-fieds/index.d.ts +1 -0
  212. package/typings/v1/ui/forms/article/index.d.ts +1 -0
  213. package/typings/v1/ui/forms/index.d.ts +1 -0
  214. package/typings/v1/ui/index.d.ts +3 -0
  215. package/typings/v1/ui/routes/index.d.ts +1 -0
  216. package/typings/v1/ui/routes/routes.d.ts +73 -0
  217. package/typings/v1/utils/api/index.d.ts +4 -0
  218. package/typings/v1/utils/api/request.d.ts +215 -0
  219. package/typings/v1/utils/api/response.d.ts +188 -0
  220. package/typings/v1/utils/common/common.d.ts +53 -0
  221. package/typings/v1/utils/common/index.d.ts +3 -0
  222. package/typings/v1/utils/dev/config.d.ts +135 -0
  223. package/typings/v1/utils/dev/index.d.ts +4 -0
  224. package/typings/v1/utils/dev/instrumentation.d.ts +41 -0
  225. package/typings/v1/utils/entities/entities.d.ts +66 -0
  226. package/typings/v1/utils/entities/index.d.ts +4 -0
  227. package/typings/v1/utils/entities/snapshots.d.ts +69 -0
  228. package/typings/v1/utils/index.d.ts +10 -0
  229. package/typings/v1/utils/models/index.d.ts +3 -0
  230. package/typings/v1/utils/models/models.d.ts +50 -0
  231. package/typings/v1/utils/seed/index.d.ts +3 -0
  232. package/typings/v1/utils/seed/locations.d.ts +41 -0
  233. package/typings/v1/utils/system/microservice.d.ts +11 -0
  234. package/typings/v1/utils/system/models.d.ts +21 -0
  235. package/typings/v1/utils/utils.d.ts +171 -0
@@ -0,0 +1,135 @@
1
+ declare module Levelup {
2
+ namespace CMS {
3
+ namespace V1 {
4
+ namespace Utils {
5
+ namespace Dev {
6
+ namespace Instrumentation {
7
+ type Instrumentation = {
8
+ concurrency: number;
9
+ /**
10
+ * Sleep time in milliseconds
11
+ */
12
+ sleep: {
13
+ min: number;
14
+ max: number;
15
+ };
16
+
17
+ accelerate?:
18
+ | {
19
+ min: number;
20
+ max: number;
21
+ }
22
+ | (() => {
23
+ min: number;
24
+ max: number;
25
+ });
26
+
27
+ store?: Common.TrackingID;
28
+ user?: Common.TrackingID;
29
+ disabled_tasks?: TTaskName[];
30
+ };
31
+
32
+ type Conditions = {
33
+ service?: System.Entity.TService;
34
+ disabled?: boolean;
35
+ auth?: {
36
+ company?: boolean;
37
+ office?: boolean;
38
+ store?: boolean;
39
+ };
40
+ compound?: {
41
+ operator: "AND" | "OR";
42
+ conditions: (Conditions & { compound: never })[];
43
+ };
44
+ };
45
+
46
+ type Weight = {
47
+ min: number;
48
+ max: number;
49
+ };
50
+
51
+ type Task<Extend extends object = Record<string, any>> = {
52
+ conditions?: Conditions;
53
+ weight: Weight;
54
+ } & Extend;
55
+
56
+ type UsersTasks =
57
+ | ({ name: "users.list" } & Task)
58
+ | ({ name: "users.create" } & Task<{
59
+ role?: Auth.Entity.TDefaultUserRoles;
60
+ name_from_role_and_office?: boolean;
61
+ }>);
62
+ type StoresTasks =
63
+ | ({ name: "stores.list" } & Task)
64
+ | ({ name: "stores.create" } & Task<{
65
+ owner?: string;
66
+ }>);
67
+
68
+ type ProductsTasks =
69
+ | ({ name: "products.list" } & Task)
70
+ | ({ name: "products.create" } & Task);
71
+
72
+ type OrdersTasks =
73
+ | ({ name: "orders.list" } & Task)
74
+ | ({ name: "orders.create" } & Task)
75
+ | ({ name: "orders.changeStatus" } & Task<{
76
+ status: Orders.Entity.TOrderStatus | "RANDOM";
77
+ }>);
78
+
79
+ type ParcelsTasks =
80
+ | ({ name: "parcels.list" } & Task)
81
+ | ({ name: "parcels.create" } & Task)
82
+ | ({ name: "parcels.changeStatus" } & Task<{
83
+ status: Shipping.Entity.TParcelStatus | "RANDOM";
84
+ }>);
85
+
86
+ type SacsTasks =
87
+ | ({ name: "sacs.list" } & Task)
88
+ | ({ name: "sacs.create" } & Task)
89
+ | ({ name: "sacs.changeStatus" } & Task<{
90
+ status: Shipping.Entity.TSacStatus | "RANDOM";
91
+ }>);
92
+
93
+ type TTaskName =
94
+ // users
95
+ | "users.list"
96
+ | "users.create"
97
+ // stores
98
+ | "stores.list"
99
+ | "stores.create"
100
+ // products
101
+ | "products.list"
102
+ | "products.create"
103
+ // orders
104
+ | "orders.list"
105
+ | "orders.create"
106
+ | "orders.changeStatus"
107
+ // parcels
108
+ | "parcels.list"
109
+ | "parcels.create"
110
+ | "parcels.changeStatus"
111
+ // sacs
112
+ | "sacs.list"
113
+ | "sacs.create"
114
+ | "sacs.changeStatus";
115
+
116
+ type AnyTask =
117
+ | UsersTasks
118
+ | StoresTasks
119
+ | ProductsTasks
120
+ | SacsTasks
121
+ | ParcelsTasks
122
+ | OrdersTasks;
123
+
124
+ type Tasks = AnyTask[];
125
+
126
+ type Config = {
127
+ instrumentation: Instrumentation;
128
+ tasks: Tasks;
129
+ };
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
@@ -0,0 +1,4 @@
1
+ "generated by levelup";
2
+
3
+ export * from "./instrumentation.d.ts";
4
+ export * from "./config.d.ts";
@@ -0,0 +1,41 @@
1
+ declare module Levelup {
2
+ namespace CMS {
3
+ namespace V1 {
4
+ namespace Utils {
5
+ namespace Dev {
6
+ namespace Instrumentation {
7
+ type TEventName = "sleep" | "info" | "login" | TTaskName;
8
+ type TStatus = "info" | "success" | "error" | "warn";
9
+
10
+ interface IEvent {
11
+ auth: {
12
+ app: string; // name
13
+ company: Levelup.V2.Utils.Entity.Snapshots.Accounts.Company | null;
14
+ user: Levelup.V2.Utils.Entity.Snapshots.Auth.User | null;
15
+ store: Levelup.V2.Utils.Entity.Snapshots.Accounts.Store | null;
16
+ office: Levelup.V2.Utils.Entity.Snapshots.Logistics.Office | null;
17
+ };
18
+ date: Date;
19
+ status: TStatus;
20
+ event: TEventName;
21
+ name: string;
22
+ duration?: number; // in milliseconds
23
+ entity?: Levelup.V2.SystemStructure.Services.Models.LevelupModels;
24
+ description?: string;
25
+ error?: boolean;
26
+ /**
27
+ * @param {boolean} fatal
28
+ * - true: if the error is fatal and the scenario should stop
29
+ * - false: if the error is not fatal and the scenario should continue
30
+ */
31
+ fatal?: boolean;
32
+ meta?: {
33
+ [key: string]: any;
34
+ };
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,66 @@
1
+ declare module Levelup {
2
+ namespace CMS {
3
+ namespace V1 {
4
+ namespace Utils {
5
+ namespace Entity {
6
+ /* ------------------------ COMMON GENERAL INTERFACES ----------------------- */
7
+ namespace General {
8
+ type TImportStatus = "draft" | "imported" | "created";
9
+ type ICreatable = {
10
+ app?: Utils.Common.ID | null;
11
+ company?: Utils.Common.ID | null;
12
+ created_by?: Utils.Common.ID | null;
13
+ created_by_original_user?: Snapshots.Auth.User | null;
14
+ created_at?: Date;
15
+ updated_at?: Date;
16
+ is_deleted?: boolean;
17
+ deleted_at?: Date | null;
18
+ tags?: {
19
+ [name: string]: any;
20
+ };
21
+ updates?: Utils.Entity.General.IItemUpdate[];
22
+ };
23
+
24
+ type IHasSearchMeta = {
25
+ search_meta?: string;
26
+ };
27
+
28
+ interface IImported {
29
+ import_status?: TImportStatus;
30
+ import_id?: string;
31
+ import_tracking_id?: string;
32
+ import_index?: number;
33
+ }
34
+
35
+ interface IDeliverable {}
36
+
37
+ interface IAttachment {
38
+ _id: string;
39
+ url: string;
40
+ type: string;
41
+ }
42
+
43
+ interface IItemUpdate {
44
+ updated_by_system?: boolean;
45
+ updated_by: Snapshots.Auth.User | null;
46
+ date: Date;
47
+ action: string;
48
+ updates: {
49
+ field: string;
50
+ old_value: unknown;
51
+ new_value: unknown;
52
+ }[];
53
+ }
54
+
55
+ interface IDateRangObject {
56
+ start: string | Date;
57
+ end: string | Date;
58
+ }
59
+
60
+ export type HasStartEnd = IDateRangObject;
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,4 @@
1
+ 'generated by levelup';
2
+
3
+ export * from "./snapshots.d.ts";
4
+ export * from "./entities.d.ts";
@@ -0,0 +1,69 @@
1
+ declare module Levelup {
2
+ namespace CMS {
3
+ namespace V1 {
4
+ namespace Utils {
5
+ namespace Entity {
6
+ /* ------------------------ COMMON GENERAL INTERFACES ----------------------- */
7
+ namespace Snapshots {
8
+ /* ------------------------- COMMON AUTH INTERFACES ------------------------- */
9
+ namespace Auth {
10
+ interface User {
11
+ _id: string | null;
12
+ tracking_id: string | null;
13
+ first_name: string | null;
14
+ family_name: string | null;
15
+ phones: string[];
16
+ photo: Common.FileAttribute;
17
+ role: string;
18
+ }
19
+ }
20
+
21
+ /* ----------------------- COMMON LOCATIONS INTERFACES ---------------------- */
22
+ export namespace Locations {
23
+ interface Address {
24
+ country_id: string;
25
+ country_code: string;
26
+ country_name: string;
27
+ state_id: string;
28
+ state_code: string;
29
+ state_name: string;
30
+ state_zone?: number;
31
+ city_id: string;
32
+ city_code: string;
33
+ city_name: string;
34
+ city_zone?: number;
35
+ street_address?: string;
36
+ }
37
+ interface City {
38
+ _id: string;
39
+ code: string;
40
+ name: string;
41
+ country_id: string;
42
+ state_id: string;
43
+ country_code: string;
44
+ state_code: string;
45
+ country_name: string;
46
+ state_name: string;
47
+ }
48
+ interface State {
49
+ _id: string;
50
+ code: string;
51
+ name: string;
52
+ country_id: string;
53
+ country_code: string;
54
+ country_name: string;
55
+ }
56
+ interface Country {
57
+ _id: string;
58
+ code: string;
59
+ name: string;
60
+ }
61
+ }
62
+
63
+
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,10 @@
1
+ 'generated by levelup';
2
+
3
+ export * from "./utils.d.ts";
4
+ export * from "./seed/index.d.ts";
5
+ export * from "./models/index.d.ts";
6
+ export * from "./insights/index.d.ts";
7
+ export * from "./entities/index.d.ts";
8
+ export * from "./dev/index.d.ts";
9
+ export * from "./common/index.d.ts";
10
+ export * from "./api/index.d.ts";
@@ -0,0 +1,3 @@
1
+ 'generated by levelup';
2
+
3
+ export * from "./models.d.ts";
@@ -0,0 +1,50 @@
1
+ import { SchemaDefinitionProperty } from "mongoose";
2
+
3
+ declare global {
4
+ namespace Levelup {
5
+ namespace CMS {
6
+ namespace V1 {
7
+ namespace Utils {
8
+ namespace Mongodb {
9
+ export type StrictSchemaDefinition<
10
+ T = undefined,
11
+ EnforcedDocType = any,
12
+ > = T extends undefined
13
+ ? { [path: string]: SchemaDefinitionProperty }
14
+ : {
15
+ [path in keyof Complete<T>]: SchemaDefinitionProperty<
16
+ Complete<T>[path],
17
+ EnforcedDocType
18
+ >;
19
+ };
20
+
21
+ type DeepStrictSchemaDefinition<
22
+ T = undefined,
23
+ EnforcedDocType = any,
24
+ > = {
25
+ [K in keyof Required<T>]: T[K] extends Date
26
+ ? SchemaDefinitionProperty<T[K], EnforcedDocType>
27
+ : T[K] extends object & { push?: never; unshift?: never }
28
+ ?
29
+ | DeepStrictSchemaDefinition<T[K], EnforcedDocType>
30
+ | {
31
+ type: DeepStrictSchemaDefinition<
32
+ T[K],
33
+ EnforcedDocType
34
+ >;
35
+ default?: T[K] | undefined;
36
+ required?: boolean;
37
+ unique?: boolean;
38
+ index?: boolean;
39
+ ref?: string;
40
+ _id?: false;
41
+ }
42
+ : // : SchemaDefinition;
43
+ SchemaDefinitionProperty<T[K], EnforcedDocType>;
44
+ };
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,3 @@
1
+ 'generated by levelup';
2
+
3
+ export * from "./locations.d.ts";
@@ -0,0 +1,41 @@
1
+ declare module Levelup {
2
+ namespace CMS {
3
+ namespace V1 {
4
+ namespace Utils {
5
+ export namespace Seed {
6
+ export interface SeedData {
7
+ countries: Country[];
8
+ countryFlags: { [key: string]: string };
9
+ dzStatesShipmentFees: DzStatesShipmentFees;
10
+ dzStates: { [key: string]: string };
11
+ dzCities: { state: string; cities: DzCity[] }[];
12
+ }
13
+
14
+ export interface Country {
15
+ id: number;
16
+ name: string;
17
+ alpha2: string;
18
+ alpha3: string;
19
+ }
20
+
21
+ export interface DzCity {
22
+ id: number;
23
+ nom: string;
24
+ wilaya_id: number;
25
+ sac_wilaya_id: number;
26
+ hasHub: number;
27
+ hasdesk: number;
28
+ deliverable: number;
29
+ dureedeviecolis: number;
30
+ dureedeviepaiement: number;
31
+ }
32
+
33
+ export interface DzStatesShipmentFees {
34
+ home: { [key: string]: number };
35
+ desk: { [key: string]: number };
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,11 @@
1
+ declare module Levelup {
2
+ namespace CMS {
3
+ namespace V1 {
4
+ namespace Utils {
5
+ namespace SystemStructure {
6
+ export type TMicroService = 'DEFAULT' | 'auth' | 'content' | 'storage' | 'system';
7
+ }
8
+ }
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,21 @@
1
+ declare module Levelup {
2
+ namespace CMS {
3
+ namespace V1 {
4
+ namespace Utils {
5
+ namespace SystemStructure {
6
+ namespace Models {
7
+ /**
8
+ * TODO: finish this
9
+ */
10
+ export type AllModels = string;
11
+
12
+ /**
13
+ * TODO: finish this
14
+ */
15
+ export type EntityType<M extends AllModels> = any;
16
+ }
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,171 @@
1
+ // import { Document, Model } from 'mongoose';
2
+
3
+ declare module Levelup {
4
+ namespace CMS {
5
+ namespace V1 {
6
+ namespace Utils {
7
+ export type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];
8
+ export type PropTypeNonNullable<
9
+ TObj,
10
+ TProp extends keyof TObj,
11
+ > = NonNullable<TObj[TProp]>;
12
+
13
+ export type Maybe<T> = T | null;
14
+ export type Exact<T extends { [key: string]: unknown }> = {
15
+ [K in keyof T]: T[K];
16
+ };
17
+ export type Complete<T> = {
18
+ [P in keyof Required<T>]: Pick<T, P> extends Required<Pick<T, P>>
19
+ ? T[P]
20
+ : T[P] | undefined;
21
+ };
22
+
23
+ // Type utility to extract string literals recursively
24
+ type RecursiveKeyUnion<T> = T extends object
25
+ ? { [K in keyof T]: RecursiveKeyUnion<T[K]> }[keyof T]
26
+ : T;
27
+
28
+ type DeepComplete<T = undefined> = {
29
+ [K in keyof Complete<T>]: T[K] extends Date
30
+ ? Date
31
+ : T[K] extends object & { push?: never; unshift?: never }
32
+ ? DeepComplete<T[K]>
33
+ : NonUndefined<T[K]>;
34
+ };
35
+
36
+ export type NonUndefined<T> = T extends undefined ? never : T;
37
+
38
+ type MergeTypes<A, B> = {
39
+ [key in keyof A]: key extends keyof B ? B[key] : A[key];
40
+ } & B;
41
+
42
+ export type Frequency =
43
+ | {
44
+ frequency: "everyMinute" | "everyHour" | "everyDay";
45
+ }
46
+ | {
47
+ frequency: "custom";
48
+ interval:
49
+ | `every ${number}s`
50
+ | `every ${number}m`
51
+ | `every ${number}h`
52
+ | `every ${number}h ${number}m`
53
+ | `every ${number}h ${number}m ${number}s`;
54
+ };
55
+
56
+ export type DocumentProperties<T> = T extends object & {
57
+ push?: never;
58
+ unshift?: never;
59
+ }
60
+ ? {
61
+ [K in keyof T]-?: K extends string | number
62
+ ?
63
+ | `${K}`
64
+ | `${K}.${DocumentProperties<T[K]>}`
65
+ | (T extends { attributes?: object }
66
+ ? DocumentRootProperties<T["attributes"]>
67
+ : never)
68
+ | (T[K] extends Array<any>
69
+ ? `${K}.${DocumentProperties<T[K][number]>}`
70
+ : never)
71
+ : never;
72
+ }[keyof T]
73
+ : never;
74
+
75
+ export type ExcludeDocumentProperties<T> = T extends object & {
76
+ push?: never;
77
+ unshift?: never;
78
+ }
79
+ ? {
80
+ [K in keyof T]-?: K extends string | number
81
+ ?
82
+ | `-${K}`
83
+ | `-${K}.${DocumentProperties<T[K]>}`
84
+ | (T extends { attributes?: object }
85
+ ? ExcludeDocumentRootProperties<T["attributes"]>
86
+ : never)
87
+ | (T[K] extends Array<any>
88
+ ? `${K}.${DocumentProperties<T[K][number]>}`
89
+ : never)
90
+ : never;
91
+ }[keyof T]
92
+ : never;
93
+
94
+ export type DocumentRootProperties<T> = T extends object
95
+ ? {
96
+ [K in keyof T]-?: K extends string | number ? `${K}` : never;
97
+ }[keyof T]
98
+ : never;
99
+
100
+ export type ExcludeDocumentRootProperties<T> = T extends object
101
+ ? {
102
+ [K in keyof T]-?: K extends string | number ? `-${K}` : never;
103
+ }[keyof T]
104
+ : never;
105
+
106
+ export type DeepKeys<T> = T extends object & {
107
+ push?: never;
108
+ unshift?: never;
109
+ }
110
+ ? {
111
+ [K in keyof T]-?: K extends string | number
112
+ ? `${K}` | `${K}.${DeepKeys<T[K]>}`
113
+ : never;
114
+ }[keyof T]
115
+ : never;
116
+
117
+ export type DeepStringKeys<T> = T extends object & {
118
+ push?: never;
119
+ unshift?: never;
120
+ }
121
+ ? {
122
+ [K in keyof T]-?: K extends string | number
123
+ ? `${K}.${DeepKeys<T[K]>}`
124
+ : never;
125
+ }[keyof T]
126
+ : never;
127
+
128
+ /**
129
+ * Update : LeafKeys excludes the keys of object values
130
+ * @author dr. Salmi <reevosolutions@gmail.com>
131
+ * @since 29-10-2024 19:18:23
132
+ */
133
+ type LeafKeys<T> = T extends object
134
+ ? {
135
+ [K in Extract<keyof T, string | number>]: T[K] extends object
136
+ ? `${K}.${LeafKeys<T[K]>}`
137
+ : `${K}`;
138
+ }[Extract<keyof T, string | number>]
139
+ : never;
140
+
141
+ export type WithRequiredProperty<
142
+ Type,
143
+ Key extends keyof Type = keyof Type,
144
+ > = Type & {
145
+ [Property in Key]-?: Type[Property];
146
+ };
147
+
148
+ export type WithSelfChildren<T, C extends string> = T & {
149
+ [Prop in C]?: WithSelfChildren<T, C>[];
150
+ };
151
+
152
+ export type CachedHeavyResult<T> = {
153
+ last_updated?: Date;
154
+ next_update?: Date;
155
+ found?: boolean;
156
+ expired?: boolean;
157
+ value?: T;
158
+ };
159
+
160
+ /**
161
+ * Update : Added
162
+ * @author dr. Salmi <reevosolutions@gmail.com>
163
+ * @since 24-10-2024 17:51:08
164
+ */
165
+ export type DeepPartial<T> = {
166
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
167
+ };
168
+ }
169
+ }
170
+ }
171
+ }