@appconda/nextjs 1.0.115 → 1.0.116

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 (293) hide show
  1. package/dist/actions/actionClient.d.ts +10 -0
  2. package/dist/actions/actionClient.js +41 -0
  3. package/dist/actions/auth.d.ts +1 -0
  4. package/dist/actions/auth.js +7 -0
  5. package/dist/actions/authOptions.d.ts +5 -0
  6. package/dist/actions/authOptions.js +235 -0
  7. package/dist/actions/index.d.ts +3 -0
  8. package/dist/actions/index.js +4 -0
  9. package/dist/actions/nextAuthHandler.d.ts +1 -0
  10. package/dist/actions/nextAuthHandler.js +6 -0
  11. package/dist/client.d.ts +141 -0
  12. package/dist/client.js +335 -0
  13. package/dist/decorators/Cache.d.ts +1 -0
  14. package/dist/decorators/Cache.js +79 -0
  15. package/dist/decorators/CacheKey.d.ts +1 -0
  16. package/dist/decorators/CacheKey.js +9 -0
  17. package/dist/decorators/Invalidate.d.ts +1 -0
  18. package/dist/decorators/Invalidate.js +47 -0
  19. package/dist/enums/api-service.d.ts +13 -0
  20. package/dist/enums/api-service.js +15 -0
  21. package/dist/enums/api.d.ts +5 -0
  22. package/dist/enums/api.js +7 -0
  23. package/dist/enums/auth-method.d.ts +9 -0
  24. package/dist/enums/auth-method.js +11 -0
  25. package/dist/enums/browser.d.ts +16 -0
  26. package/dist/enums/browser.js +18 -0
  27. package/dist/enums/compression.d.ts +5 -0
  28. package/dist/enums/compression.js +7 -0
  29. package/dist/enums/credit-card.d.ts +18 -0
  30. package/dist/enums/credit-card.js +20 -0
  31. package/dist/enums/database-usage-range.d.ts +5 -0
  32. package/dist/enums/database-usage-range.js +7 -0
  33. package/dist/enums/email-template-locale.d.ts +133 -0
  34. package/dist/enums/email-template-locale.js +135 -0
  35. package/dist/enums/email-template-type.d.ts +9 -0
  36. package/dist/enums/email-template-type.js +11 -0
  37. package/dist/enums/entities/EntityLimitType.d.ts +4 -0
  38. package/dist/enums/entities/EntityLimitType.js +6 -0
  39. package/dist/enums/entities/PropertyAttributeName.d.ts +27 -0
  40. package/dist/enums/entities/PropertyAttributeName.js +29 -0
  41. package/dist/enums/entities/PropertyCondition.d.ts +7 -0
  42. package/dist/enums/entities/PropertyCondition.js +10 -0
  43. package/dist/enums/entities/PropertyType.d.ts +12 -0
  44. package/dist/enums/entities/PropertyType.js +18 -0
  45. package/dist/enums/entities/PropertyValueType.d.ts +6 -0
  46. package/dist/enums/entities/PropertyValueType.js +8 -0
  47. package/dist/enums/entities/RowAccess.d.ts +2 -0
  48. package/dist/enums/entities/RowAccess.js +2 -0
  49. package/dist/enums/entities/ViewFilterCondition.d.ts +12 -0
  50. package/dist/enums/entities/ViewFilterCondition.js +14 -0
  51. package/dist/enums/execution-method.d.ts +8 -0
  52. package/dist/enums/execution-method.js +10 -0
  53. package/dist/enums/flag.d.ts +197 -0
  54. package/dist/enums/flag.js +199 -0
  55. package/dist/enums/function-usage-range.d.ts +5 -0
  56. package/dist/enums/function-usage-range.js +7 -0
  57. package/dist/enums/image-format.d.ts +7 -0
  58. package/dist/enums/image-format.js +9 -0
  59. package/dist/enums/image-gravity.d.ts +11 -0
  60. package/dist/enums/image-gravity.js +13 -0
  61. package/dist/enums/index-type.d.ts +5 -0
  62. package/dist/enums/index-type.js +7 -0
  63. package/dist/enums/messaging-provider-type.d.ts +5 -0
  64. package/dist/enums/messaging-provider-type.js +7 -0
  65. package/dist/enums/name.d.ts +14 -0
  66. package/dist/enums/name.js +16 -0
  67. package/dist/enums/o-auth-provider copy.d.ts +41 -0
  68. package/dist/enums/o-auth-provider copy.js +43 -0
  69. package/dist/enums/password-hash.d.ts +13 -0
  70. package/dist/enums/password-hash.js +15 -0
  71. package/dist/enums/platform-type.d.ts +17 -0
  72. package/dist/enums/platform-type.js +19 -0
  73. package/dist/enums/project-usage-range.d.ts +4 -0
  74. package/dist/enums/project-usage-range.js +6 -0
  75. package/dist/enums/region.d.ts +4 -0
  76. package/dist/enums/region.js +6 -0
  77. package/dist/enums/relation-mutate.d.ts +5 -0
  78. package/dist/enums/relation-mutate.js +7 -0
  79. package/dist/enums/relationship-type.d.ts +6 -0
  80. package/dist/enums/relationship-type.js +8 -0
  81. package/dist/enums/resource-type.d.ts +4 -0
  82. package/dist/enums/resource-type.js +6 -0
  83. package/dist/enums/runtime.d.ts +48 -0
  84. package/dist/enums/runtime.js +50 -0
  85. package/dist/enums/s-m-t-p-secure.d.ts +3 -0
  86. package/dist/enums/s-m-t-p-secure.js +5 -0
  87. package/dist/enums/shared/ApplicationLayout.d.ts +4 -0
  88. package/dist/enums/shared/ApplicationLayout.js +6 -0
  89. package/dist/enums/shared/Colors.d.ts +24 -0
  90. package/dist/enums/shared/Colors.js +26 -0
  91. package/dist/enums/shared/InputType.d.ts +6 -0
  92. package/dist/enums/shared/InputType.js +8 -0
  93. package/dist/enums/shared/Periodicity.d.ts +7 -0
  94. package/dist/enums/shared/Periodicity.js +9 -0
  95. package/dist/enums/shared/SvgIcon.d.ts +37 -0
  96. package/dist/enums/shared/SvgIcon.js +39 -0
  97. package/dist/enums/shared/Theme.d.ts +4 -0
  98. package/dist/enums/shared/Theme.js +6 -0
  99. package/dist/enums/sms-template-locale.d.ts +133 -0
  100. package/dist/enums/sms-template-locale.js +135 -0
  101. package/dist/enums/sms-template-type.d.ts +6 -0
  102. package/dist/enums/sms-template-type.js +8 -0
  103. package/dist/enums/smtp-encryption.d.ts +5 -0
  104. package/dist/enums/smtp-encryption.js +7 -0
  105. package/dist/enums/storage-usage-range.d.ts +5 -0
  106. package/dist/enums/storage-usage-range.js +7 -0
  107. package/dist/enums/subscriptions/PricingModel.d.ts +11 -0
  108. package/dist/enums/subscriptions/PricingModel.js +12 -0
  109. package/dist/enums/subscriptions/SubscriptionBillingPeriod.d.ts +10 -0
  110. package/dist/enums/subscriptions/SubscriptionBillingPeriod.js +11 -0
  111. package/dist/enums/subscriptions/SubscriptionFeatureLimitType.d.ts +10 -0
  112. package/dist/enums/subscriptions/SubscriptionFeatureLimitType.js +13 -0
  113. package/dist/enums/subscriptions/SubscriptionPriceType.d.ts +7 -0
  114. package/dist/enums/subscriptions/SubscriptionPriceType.js +8 -0
  115. package/dist/enums/tenants/LinkedAccountStatus.d.ts +5 -0
  116. package/dist/enums/tenants/LinkedAccountStatus.js +7 -0
  117. package/dist/enums/tenants/TenantUserJoined.d.ts +6 -0
  118. package/dist/enums/tenants/TenantUserJoined.js +8 -0
  119. package/dist/enums/tenants/TenantUserStatus.d.ts +6 -0
  120. package/dist/enums/tenants/TenantUserStatus.js +8 -0
  121. package/dist/enums/tenants/TenantUserType.d.ts +5 -0
  122. package/dist/enums/tenants/TenantUserType.js +7 -0
  123. package/dist/enums/user-usage-range.d.ts +5 -0
  124. package/dist/enums/user-usage-range.js +7 -0
  125. package/dist/getAppcondaClient.d.ts +2 -0
  126. package/dist/getAppcondaClient.js +44 -0
  127. package/dist/getSDKForCurrentUser.d.ts +43 -0
  128. package/dist/getSDKForCurrentUser.js +76 -0
  129. package/dist/getSDKForService.d.ts +6 -0
  130. package/dist/getSDKForService.js +51 -0
  131. package/dist/getSDKForTenant.d.ts +20 -0
  132. package/dist/getSDKForTenant.js +44 -0
  133. package/dist/id.d.ts +20 -0
  134. package/dist/id.js +45 -0
  135. package/dist/index.d.ts +44 -0
  136. package/dist/index.js +42 -0
  137. package/dist/inputFile.d.ts +6 -0
  138. package/dist/inputFile.js +17 -0
  139. package/dist/lib/Cache/Adapter.d.ts +10 -0
  140. package/dist/lib/Cache/Adapter.js +2 -0
  141. package/dist/lib/Cache/Adapters/Filesystem.d.ts +16 -0
  142. package/dist/lib/Cache/Adapters/Filesystem.js +103 -0
  143. package/dist/lib/Cache/Adapters/Memory.d.ts +18 -0
  144. package/dist/lib/Cache/Adapters/Memory.js +47 -0
  145. package/dist/lib/Cache/Adapters/None.d.ts +12 -0
  146. package/dist/lib/Cache/Adapters/None.js +28 -0
  147. package/dist/lib/Cache/Adapters/Sharding.d.ts +17 -0
  148. package/dist/lib/Cache/Adapters/Sharding.js +73 -0
  149. package/dist/lib/Cache/Cache.d.ts +16 -0
  150. package/dist/lib/Cache/Cache.js +52 -0
  151. package/dist/lib/Cache/index.d.ts +4 -0
  152. package/dist/lib/Cache/index.js +5 -0
  153. package/dist/lib/Cache/test.d.ts +0 -0
  154. package/dist/lib/Cache/test.js +1 -0
  155. package/dist/lib/Registry/Registry.d.ts +38 -0
  156. package/dist/lib/Registry/Registry.js +56 -0
  157. package/dist/lib/Registry/index.d.ts +1 -0
  158. package/dist/lib/Registry/index.js +2 -0
  159. package/dist/lib/Services.d.ts +6 -0
  160. package/dist/lib/Services.js +14 -0
  161. package/dist/lib/crypto.d.ts +23 -0
  162. package/dist/lib/crypto.js +78 -0
  163. package/dist/lib/env.d.ts +1 -0
  164. package/dist/lib/env.js +137 -0
  165. package/dist/lib/errors.d.ts +70 -0
  166. package/dist/lib/errors.js +76 -0
  167. package/dist/lib/index.d.ts +2 -0
  168. package/dist/lib/index.js +3 -0
  169. package/dist/lib/jwt.d.ts +12 -0
  170. package/dist/lib/jwt.js +103 -0
  171. package/dist/models.d.ts +3272 -0
  172. package/dist/models.js +2 -0
  173. package/dist/modules/account/actions.d.ts +31 -0
  174. package/dist/modules/account/actions.js +18 -0
  175. package/dist/modules/account/enums/authentication-factor.d.ts +6 -0
  176. package/dist/modules/account/enums/authentication-factor.js +8 -0
  177. package/dist/modules/account/enums/authenticator-type.d.ts +3 -0
  178. package/dist/modules/account/enums/authenticator-type.js +5 -0
  179. package/dist/modules/account/enums/o-auth-provider.d.ts +41 -0
  180. package/dist/modules/account/enums/o-auth-provider.js +43 -0
  181. package/dist/modules/account/index.d.ts +3 -0
  182. package/dist/modules/account/index.js +4 -0
  183. package/dist/modules/account/schema.d.ts +17 -0
  184. package/dist/modules/account/schema.js +8 -0
  185. package/dist/modules/account/service.d.ts +530 -0
  186. package/dist/modules/account/service.js +1260 -0
  187. package/dist/modules/account/types.d.ts +411 -0
  188. package/dist/modules/account/types.js +2 -0
  189. package/dist/modules/acl/service.d.ts +26 -0
  190. package/dist/modules/acl/service.js +27 -0
  191. package/dist/modules/agent/action.d.ts +57 -0
  192. package/dist/modules/agent/action.js +64 -0
  193. package/dist/modules/agent/index.d.ts +4 -0
  194. package/dist/modules/agent/index.js +5 -0
  195. package/dist/modules/agent/schema.d.ts +48 -0
  196. package/dist/modules/agent/schema.js +21 -0
  197. package/dist/modules/agent/service.d.ts +12 -0
  198. package/dist/modules/agent/service.js +22 -0
  199. package/dist/modules/agent/types.d.ts +11 -0
  200. package/dist/modules/agent/types.js +2 -0
  201. package/dist/modules/ai/index.d.ts +1 -0
  202. package/dist/modules/ai/index.js +2 -0
  203. package/dist/modules/ai/node/actions.d.ts +4 -0
  204. package/dist/modules/ai/node/actions.js +16 -0
  205. package/dist/modules/ai/node/index.d.ts +2 -0
  206. package/dist/modules/ai/node/index.js +3 -0
  207. package/dist/modules/ai/node/service.d.ts +5 -0
  208. package/dist/modules/ai/node/service.js +12 -0
  209. package/dist/modules/index.d.ts +6 -0
  210. package/dist/modules/index.js +7 -0
  211. package/dist/modules/task/action.d.ts +201 -0
  212. package/dist/modules/task/action.js +147 -0
  213. package/dist/modules/task/index.d.ts +4 -0
  214. package/dist/modules/task/index.js +5 -0
  215. package/dist/modules/task/schema.d.ts +107 -0
  216. package/dist/modules/task/schema.js +44 -0
  217. package/dist/modules/task/service.d.ts +19 -0
  218. package/dist/modules/task/service.js +43 -0
  219. package/dist/modules/task/types.d.ts +84 -0
  220. package/dist/modules/task/types.js +2 -0
  221. package/dist/modules/tenant/actions.d.ts +49 -0
  222. package/dist/modules/tenant/actions.js +38 -0
  223. package/dist/modules/tenant/index.d.ts +3 -0
  224. package/dist/modules/tenant/index.js +4 -0
  225. package/dist/modules/tenant/tenant.d.ts +32 -0
  226. package/dist/modules/tenant/tenant.js +125 -0
  227. package/dist/modules/tenant/types.d.ts +11 -0
  228. package/dist/modules/tenant/types.js +2 -0
  229. package/dist/modules/waitlist/action.d.ts +71 -0
  230. package/dist/modules/waitlist/action.js +78 -0
  231. package/dist/modules/waitlist/index.d.ts +4 -0
  232. package/dist/modules/waitlist/index.js +5 -0
  233. package/dist/modules/waitlist/schema.d.ts +39 -0
  234. package/dist/modules/waitlist/schema.js +18 -0
  235. package/dist/modules/waitlist/service.d.ts +13 -0
  236. package/dist/modules/waitlist/service.js +28 -0
  237. package/dist/modules/waitlist/types.d.ts +14 -0
  238. package/dist/modules/waitlist/types.js +2 -0
  239. package/dist/permission.d.ts +43 -0
  240. package/dist/permission.js +54 -0
  241. package/dist/query.d.ts +194 -0
  242. package/dist/query.js +204 -0
  243. package/dist/role.d.ts +70 -0
  244. package/dist/role.js +94 -0
  245. package/dist/schemas/nodes.d.ts +0 -0
  246. package/dist/schemas/nodes.js +1 -0
  247. package/dist/service-client.d.ts +7 -0
  248. package/dist/service-client.js +14 -0
  249. package/dist/service.d.ts +11 -0
  250. package/dist/service.js +23 -0
  251. package/dist/services/applets.d.ts +9 -0
  252. package/dist/services/applets.js +40 -0
  253. package/dist/services/avatars.d.ts +115 -0
  254. package/dist/services/avatars.js +251 -0
  255. package/dist/services/chat-flow.d.ts +7 -0
  256. package/dist/services/chat-flow.js +26 -0
  257. package/dist/services/community.d.ts +19 -0
  258. package/dist/services/community.js +69 -0
  259. package/dist/services/configuration.d.ts +5 -0
  260. package/dist/services/configuration.js +11 -0
  261. package/dist/services/databases.d.ts +613 -0
  262. package/dist/services/databases.js +1736 -0
  263. package/dist/services/functions.d.ts +319 -0
  264. package/dist/services/functions.js +810 -0
  265. package/dist/services/graphql.d.ts +25 -0
  266. package/dist/services/graphql.js +57 -0
  267. package/dist/services/health.d.ts +231 -0
  268. package/dist/services/health.js +463 -0
  269. package/dist/services/locale.d.ts +80 -0
  270. package/dist/services/locale.js +144 -0
  271. package/dist/services/messaging.d.ts +685 -0
  272. package/dist/services/messaging.js +1920 -0
  273. package/dist/services/permissions.d.ts +20 -0
  274. package/dist/services/permissions.js +90 -0
  275. package/dist/services/pricing.d.ts +15 -0
  276. package/dist/services/pricing.js +21 -0
  277. package/dist/services/projects.d.ts +542 -0
  278. package/dist/services/projects.js +1526 -0
  279. package/dist/services/roles.d.ts +19 -0
  280. package/dist/services/roles.js +72 -0
  281. package/dist/services/schema.d.ts +17 -0
  282. package/dist/services/schema.js +48 -0
  283. package/dist/services/storage.d.ts +189 -0
  284. package/dist/services/storage.js +474 -0
  285. package/dist/services/subscription.d.ts +15 -0
  286. package/dist/services/subscription.js +30 -0
  287. package/dist/services/teams.d.ts +167 -0
  288. package/dist/services/teams.js +395 -0
  289. package/dist/services/tenant-subscription.d.ts +12 -0
  290. package/dist/services/tenant-subscription.js +52 -0
  291. package/dist/services/users.d.ts +499 -0
  292. package/dist/services/users.js +1283 -0
  293. package/package.json +3 -3
package/dist/client.js ADDED
@@ -0,0 +1,335 @@
1
+ import { fetch, FormData, File } from 'node-fetch-native-with-agent';
2
+ import { createAgent } from 'node-fetch-native-with-agent/agent';
3
+ class AppcondaException extends Error {
4
+ constructor(message, code = 0, type = '', response = '') {
5
+ super(message);
6
+ this.name = 'AppcondaException';
7
+ this.message = message;
8
+ this.code = code;
9
+ this.type = type;
10
+ this.response = response;
11
+ }
12
+ }
13
+ function getUserAgent() {
14
+ let ua = 'AppcondaNodeJSSDK/14.1.0';
15
+ // `process` is a global in Node.js, but not fully available in all runtimes.
16
+ const platform = [];
17
+ if (typeof process !== 'undefined') {
18
+ if (typeof process.platform === 'string')
19
+ platform.push(process.platform);
20
+ if (typeof process.arch === 'string')
21
+ platform.push(process.arch);
22
+ }
23
+ if (platform.length > 0) {
24
+ ua += ` (${platform.join('; ')})`;
25
+ }
26
+ // `navigator.userAgent` is available in Node.js 21 and later.
27
+ // It's also part of the WinterCG spec, so many edge runtimes provide it.
28
+ // https://common-min-api.proposal.wintercg.org/#requirements-for-navigatoruseragent
29
+ // @ts-ignore
30
+ if (typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string') {
31
+ // @ts-ignore
32
+ ua += ` ${navigator.userAgent}`;
33
+ // @ts-ignore
34
+ }
35
+ else if (typeof globalThis.EdgeRuntime === 'string') {
36
+ ua += ` EdgeRuntime`;
37
+ // Older Node.js versions don't have `navigator.userAgent`, so we have to use `process.version`.
38
+ }
39
+ else if (typeof process !== 'undefined' && typeof process.version === 'string') {
40
+ ua += ` Node.js/${process.version}`;
41
+ }
42
+ return ua;
43
+ }
44
+ class Client {
45
+ constructor() {
46
+ this.config = {
47
+ endpoint: 'https://cloud.appconda.io/v1',
48
+ selfSigned: false,
49
+ project: '',
50
+ mode: '',
51
+ key: '',
52
+ jwt: '',
53
+ locale: '',
54
+ session: '',
55
+ forwardeduseragent: '',
56
+ };
57
+ this.headers = {
58
+ 'x-sdk-name': 'Node.js',
59
+ 'x-sdk-platform': 'server',
60
+ 'x-sdk-language': 'nodejs',
61
+ 'x-sdk-version': '14.1.0',
62
+ 'user-agent': getUserAgent(),
63
+ 'X-Appconda-Response-Format': '1.6.0',
64
+ };
65
+ }
66
+ /**
67
+ * Set Endpoint
68
+ *
69
+ * Your project endpoint
70
+ *
71
+ * @param {string} endpoint
72
+ *
73
+ * @returns {this}
74
+ */
75
+ setEndpoint(endpoint) {
76
+ this.config.endpoint = endpoint;
77
+ return this;
78
+ }
79
+ /**
80
+ * Set self-signed
81
+ *
82
+ * @param {boolean} selfSigned
83
+ *
84
+ * @returns {this}
85
+ */
86
+ setSelfSigned(selfSigned) {
87
+ // @ts-ignore
88
+ if (typeof globalThis.EdgeRuntime !== 'undefined') {
89
+ console.warn('setSelfSigned is not supported in edge runtimes.');
90
+ }
91
+ this.config.selfSigned = selfSigned;
92
+ return this;
93
+ }
94
+ /**
95
+ * Add header
96
+ *
97
+ * @param {string} header
98
+ * @param {string} value
99
+ *
100
+ * @returns {this}
101
+ */
102
+ addHeader(header, value) {
103
+ this.headers[header.toLowerCase()] = value;
104
+ return this;
105
+ }
106
+ /**
107
+ * Set Project
108
+ *
109
+ * Your project ID
110
+ *
111
+ * @param value string
112
+ *
113
+ * @return {this}
114
+ */
115
+ setProject(value) {
116
+ this.headers['X-Appconda-Project'] = value;
117
+ this.config.project = value;
118
+ return this;
119
+ }
120
+ /**
121
+ * Set Mode
122
+ *
123
+ * @param value string
124
+ *
125
+ * @return {this}
126
+ */
127
+ setMode(value) {
128
+ this.headers['X-Appconda-Mode'] = value;
129
+ this.config.mode = value;
130
+ return this;
131
+ }
132
+ /**
133
+ * Set Key
134
+ *
135
+ * Your secret API key
136
+ *
137
+ * @param value string
138
+ *
139
+ * @return {this}
140
+ */
141
+ setKey(value) {
142
+ this.headers['X-Appconda-Key'] = value;
143
+ this.config.key = value;
144
+ return this;
145
+ }
146
+ /**
147
+ * Set JWT
148
+ *
149
+ * Your secret JSON Web Token
150
+ *
151
+ * @param value string
152
+ *
153
+ * @return {this}
154
+ */
155
+ setJWT(value) {
156
+ this.headers['X-Appconda-JWT'] = value;
157
+ this.config.jwt = value;
158
+ return this;
159
+ }
160
+ /**
161
+ * Set Locale
162
+ *
163
+ * @param value string
164
+ *
165
+ * @return {this}
166
+ */
167
+ setLocale(value) {
168
+ this.headers['X-Appconda-Locale'] = value;
169
+ this.config.locale = value;
170
+ return this;
171
+ }
172
+ /**
173
+ * Set Session
174
+ *
175
+ * The user session to authenticate with
176
+ *
177
+ * @param value string
178
+ *
179
+ * @return {this}
180
+ */
181
+ setSession(value) {
182
+ this.headers['X-Appconda-Session'] = value;
183
+ this.config.session = value;
184
+ return this;
185
+ }
186
+ /**
187
+ * Set ForwardedUserAgent
188
+ *
189
+ * The user agent string of the client that made the request
190
+ *
191
+ * @param value string
192
+ *
193
+ * @return {this}
194
+ */
195
+ setForwardedUserAgent(value) {
196
+ this.headers['X-Forwarded-User-Agent'] = value;
197
+ this.config.forwardeduseragent = value;
198
+ return this;
199
+ }
200
+ setFallbackCookies(value) {
201
+ this.headers['X-Fallback-Cookies'] = value;
202
+ //this.config.forwardeduseragent = value;
203
+ return this;
204
+ }
205
+ prepareRequest(method, url, headers = {}, params = {}) {
206
+ method = method.toUpperCase();
207
+ headers = Object.assign({}, this.headers, headers);
208
+ let options = {
209
+ method,
210
+ headers,
211
+ ...createAgent(this.config.endpoint, { rejectUnauthorized: !this.config.selfSigned }),
212
+ };
213
+ if (method === 'GET') {
214
+ for (const [key, value] of Object.entries(Client.flatten(params))) {
215
+ url.searchParams.append(key, value);
216
+ }
217
+ }
218
+ else {
219
+ switch (headers['content-type']) {
220
+ case 'application/json':
221
+ options.body = JSON.stringify(params);
222
+ break;
223
+ case 'multipart/form-data':
224
+ const formData = new FormData();
225
+ for (const [key, value] of Object.entries(params)) {
226
+ if (value instanceof File) {
227
+ formData.append(key, value, value.name);
228
+ }
229
+ else if (Array.isArray(value)) {
230
+ for (const nestedValue of value) {
231
+ formData.append(`${key}[]`, nestedValue);
232
+ }
233
+ }
234
+ else {
235
+ formData.append(key, value);
236
+ }
237
+ }
238
+ options.body = formData;
239
+ delete headers['content-type'];
240
+ break;
241
+ }
242
+ }
243
+ return { uri: url.toString(), options };
244
+ }
245
+ async chunkedUpload(method, url, headers = {}, originalPayload = {}, onProgress) {
246
+ const file = Object.values(originalPayload).find((value) => value instanceof File);
247
+ if (file.size <= Client.CHUNK_SIZE) {
248
+ return await this.call(method, url, headers, originalPayload);
249
+ }
250
+ let start = 0;
251
+ let response = null;
252
+ while (start < file.size) {
253
+ let end = start + Client.CHUNK_SIZE; // Prepare end for the next chunk
254
+ if (end >= file.size) {
255
+ end = file.size; // Adjust for the last chunk to include the last byte
256
+ }
257
+ headers['content-range'] = `bytes ${start}-${end - 1}/${file.size}`;
258
+ const chunk = file.slice(start, end);
259
+ let payload = { ...originalPayload, file: new File([chunk], file.name) };
260
+ response = await this.call(method, url, headers, payload);
261
+ if (onProgress && typeof onProgress === 'function') {
262
+ onProgress({
263
+ $id: response.$id,
264
+ progress: Math.round((end / file.size) * 100),
265
+ sizeUploaded: end,
266
+ chunksTotal: Math.ceil(file.size / Client.CHUNK_SIZE),
267
+ chunksUploaded: Math.ceil(end / Client.CHUNK_SIZE)
268
+ });
269
+ }
270
+ if (response && response.$id) {
271
+ headers['x-appconda-id'] = response.$id;
272
+ }
273
+ start = end;
274
+ }
275
+ return response;
276
+ }
277
+ async redirect(method, url, headers = {}, params = {}) {
278
+ const { uri, options } = this.prepareRequest(method, url, headers, params);
279
+ const response = await fetch(uri, {
280
+ ...options,
281
+ redirect: 'manual'
282
+ });
283
+ if (response.status !== 301 && response.status !== 302) {
284
+ throw new AppcondaException('Invalid redirect', response.status);
285
+ }
286
+ return response.headers.get('location') || '';
287
+ }
288
+ async call(method, url, headers = {}, params = {}, responseType = 'json') {
289
+ const { uri, options } = this.prepareRequest(method, url, headers, params);
290
+ let data = null;
291
+ try {
292
+ const response = await fetch(uri, options);
293
+ const warnings = response.headers.get('x-appconda-warning');
294
+ if (warnings) {
295
+ warnings.split(';').forEach((warning) => console.warn('Warning: ' + warning));
296
+ }
297
+ if (response.headers.get('content-type')?.includes('application/json')) {
298
+ data = await response.json();
299
+ }
300
+ else if (responseType === 'arrayBuffer') {
301
+ data = await response.arrayBuffer();
302
+ }
303
+ else {
304
+ data = {
305
+ message: await response.text()
306
+ };
307
+ }
308
+ if (400 <= response.status) {
309
+ throw new AppcondaException(data?.message, response.status, data?.type, data);
310
+ }
311
+ return data;
312
+ }
313
+ catch (e) {
314
+ console.error(e);
315
+ throw e;
316
+ }
317
+ }
318
+ static flatten(data, prefix = '') {
319
+ let output = {};
320
+ for (const [key, value] of Object.entries(data)) {
321
+ let finalKey = prefix ? prefix + '[' + key + ']' : key;
322
+ if (Array.isArray(value)) {
323
+ output = { ...output, ...Client.flatten(value, finalKey) };
324
+ }
325
+ else {
326
+ output[finalKey] = value;
327
+ }
328
+ }
329
+ return output;
330
+ }
331
+ }
332
+ Client.CHUNK_SIZE = 1024 * 1024 * 5;
333
+ export { Client, AppcondaException };
334
+ export { Query } from './query';
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFtQmpFLE1BQU0saUJBQWtCLFNBQVEsS0FBSztJQUlqQyxZQUFZLE9BQWUsRUFBRSxPQUFlLENBQUMsRUFBRSxPQUFlLEVBQUUsRUFBRSxXQUFtQixFQUFFO1FBQ25GLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztDQUNKO0FBRUQsU0FBUyxZQUFZO0lBQ2pCLElBQUksRUFBRSxHQUFHLDBCQUEwQixDQUFDO0lBRXBDLDZFQUE2RTtJQUM3RSxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7SUFDOUIsSUFBSSxPQUFPLE9BQU8sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUUsSUFBSSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFD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QUFDO1lBQ2xGLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsTUFBTSxDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYSxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ3JDLElBQUksTUFBTSxHQUFZLEVBQUUsQ0FBQztRQUV6QixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzlDLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDdkQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUM3QixDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O0FBbFVNLGlCQUFVLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLEFBQWxCLENBQW1CO0FBcVV4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLENBQUM7QUFDckMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoLCBGb3JtRGF0YSwgRmlsZSB9IGZyb20gJ25vZGUtZmV0Y2gtbmF0aXZlLXdpdGgtYWdlbnQnO1xuaW1wb3J0IHsgY3JlYXRlQWdlbnQgfSBmcm9tICdub2RlLWZldGNoLW5hdGl2ZS13aXRoLWFnZW50L2FnZW50JztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcblxudHlwZSBQYXlsb2FkID0ge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxudHlwZSBVcGxvYWRQcm9ncmVzcyA9IHtcbiAgICAkaWQ6IHN0cmluZztcbiAgICBwcm9ncmVzczogbnVtYmVyO1xuICAgIHNpemVVcGxvYWRlZDogbnVtYmVyO1xuICAgIGNodW5rc1RvdGFsOiBudW1iZXI7XG4gICAgY2h1bmtzVXBsb2FkZWQ6IG51bWJlcjtcbn1cblxudHlwZSBIZWFkZXJzID0ge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuY2xhc3MgQXBwY29uZGFFeGNlcHRpb24gZXh0ZW5kcyBFcnJvciB7XG4gICAgY29kZTogbnVtYmVyO1xuICAgIHJlc3BvbnNlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgY29kZTogbnVtYmVyID0gMCwgdHlwZTogc3RyaW5nID0gJycsIHJlc3BvbnNlOiBzdHJpbmcgPSAnJykge1xuICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5uYW1lID0gJ0FwcGNvbmRhRXhjZXB0aW9uJztcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICAgICAgdGhpcy5yZXNwb25zZSA9IHJlc3BvbnNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0VXNlckFnZW50KCkge1xuICAgIGxldCB1YSA9ICdBcHBjb25kYU5vZGVKU1NESy8xNC4xLjAnO1xuXG4gICAgLy8gYHByb2Nlc3NgIGlzIGEgZ2xvYmFsIGluIE5vZGUuanMsIGJ1dCBub3QgZnVsbHkgYXZhaWxhYmxlIGluIGFsbCBydW50aW1lcy5cbiAgICBjb25zdCBwbGF0Zm9ybTogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAodHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGlmICh0eXBlb2YgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3N0cmluZycpIHBsYXRmb3JtLnB1c2gocHJvY2Vzcy5wbGF0Zm9ybSk7XG4gICAgICAgIGlmICh0eXBlb2YgcHJvY2Vzcy5hcmNoID09PSAnc3RyaW5nJykgcGxhdGZvcm0ucHVzaChwcm9jZXNzLmFyY2gpO1xuICAgIH1cbiAgICBpZiAocGxhdGZvcm0ubGVuZ3RoID4gMCkge1xuICAgICAgICB1YSArPSBgICgke3BsYXRmb3JtLmpvaW4oJzsgJyl9KWA7XG4gICAgfVxuXG4gICAgLy8gYG5hdmlnYXRvci51c2VyQWdlbnRgIGlzIGF2YWlsYWJsZSBpbiBOb2RlLmpzIDIxIGFuZCBsYXRlci5cbiAgICAvLyBJdCdzIGFsc28gcGFydCBvZiB0aGUgV2ludGVyQ0cgc3BlYywgc28gbWFueSBlZGdlIHJ1bnRpbWVzIHByb3ZpZGUgaXQuXG4gICAgLy8gaHR0cHM6Ly9jb21tb24tbWluLWFwaS5wcm9wb3NhbC53aW50ZXJjZy5vcmcvI3JlcXVpcmVtZW50cy1mb3ItbmF2aWdhdG9ydXNlcmFnZW50XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmICh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgbmF2aWdhdG9yLnVzZXJBZ2VudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB1YSArPSBgICR7bmF2aWdhdG9yLnVzZXJBZ2VudH1gO1xuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBnbG9iYWxUaGlzLkVkZ2VSdW50aW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICB1YSArPSBgIEVkZ2VSdW50aW1lYDtcblxuICAgICAgICAvLyBPbGRlciBOb2RlLmpzIHZlcnNpb25zIGRvbid0IGhhdmUgYG5hdmlnYXRvci51c2VyQWdlbnRgLCBzbyB3ZSBoYXZlIHRvIHVzZSBgcHJvY2Vzcy52ZXJzaW9uYC5cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgcHJvY2Vzcy52ZXJzaW9uID09PSAnc3RyaW5nJykge1xuICAgICAgICB1YSArPSBgIE5vZGUuanMvJHtwcm9jZXNzLnZlcnNpb259YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdWE7XG59XG5cbmNsYXNzIENsaWVudCB7XG4gICAgc3RhdGljIENIVU5LX1NJWkUgPSAxMDI0ICogMTAyNCAqIDU7XG5cbiAgICBjb25maWcgPSB7XG4gICAgICAgIGVuZHBvaW50OiAnaHR0cHM6Ly9jbG91ZC5hcHBjb25kYS5pby92MScsXG4gICAgICAgIHNlbGZTaWduZWQ6IGZhbHNlLFxuICAgICAgICBwcm9qZWN0OiAnJyxcbiAgICAgICAgbW9kZTogJycsXG4gICAgICAgIGtleTogJycsXG4gICAgICAgIGp3dDogJycsXG4gICAgICAgIGxvY2FsZTogJycsXG4gICAgICAgIHNlc3Npb246ICcnLFxuICAgICAgICBmb3J3YXJkZWR1c2VyYWdlbnQ6ICcnLFxuICAgIH07XG4gICAgaGVhZGVyczogSGVhZGVycyA9IHtcbiAgICAgICAgJ3gtc2RrLW5hbWUnOiAnTm9kZS5qcycsXG4gICAgICAgICd4LXNkay1wbGF0Zm9ybSc6ICdzZXJ2ZXInLFxuICAgICAgICAneC1zZGstbGFuZ3VhZ2UnOiAnbm9kZWpzJyxcbiAgICAgICAgJ3gtc2RrLXZlcnNpb24nOiAnMTQuMS4wJyxcbiAgICAgICAgJ3VzZXItYWdlbnQnOiBnZXRVc2VyQWdlbnQoKSxcbiAgICAgICAgJ1gtQXBwY29uZGEtUmVzcG9uc2UtRm9ybWF0JzogJzEuNi4wJyxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogU2V0IEVuZHBvaW50XG4gICAgICpcbiAgICAgKiBZb3VyIHByb2plY3QgZW5kcG9pbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBlbmRwb2ludFxuICAgICAqXG4gICAgICogQHJldHVybnMge3RoaXN9XG4gICAgICovXG4gICAgc2V0RW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmNvbmZpZy5lbmRwb2ludCA9IGVuZHBvaW50O1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBzZWxmLXNpZ25lZFxuICAgICAqXG4gICAgICogQHBhcmFtIHtib29sZWFufSBzZWxmU2lnbmVkXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICAgKi9cbiAgICBzZXRTZWxmU2lnbmVkKHNlbGZTaWduZWQ6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodHlwZW9mIGdsb2JhbFRoaXMuRWRnZVJ1bnRpbWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ3NldFNlbGZTaWduZWQgaXMgbm90IHN1cHBvcnRlZCBpbiBlZGdlIHJ1bnRpbWVzLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWcuc2VsZlNpZ25lZCA9IHNlbGZTaWduZWQ7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIGhlYWRlclxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGhlYWRlclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgICAqXG4gICAgICogQHJldHVybnMge3RoaXN9XG4gICAgICovXG4gICAgYWRkSGVhZGVyKGhlYWRlcjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1toZWFkZXIudG9Mb3dlckNhc2UoKV0gPSB2YWx1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgUHJvamVjdFxuICAgICAqXG4gICAgICogWW91ciBwcm9qZWN0IElEXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgICAqL1xuICAgIHNldFByb2plY3QodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbJ1gtQXBwY29uZGEtUHJvamVjdCddID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29uZmlnLnByb2plY3QgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgICAvKipcbiAgICAgKiBTZXQgTW9kZVxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIHN0cmluZ1xuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc31cbiAgICAgKi9cbiAgICAgIHNldE1vZGUodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbJ1gtQXBwY29uZGEtTW9kZSddID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29uZmlnLm1vZGUgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IEtleVxuICAgICAqXG4gICAgICogWW91ciBzZWNyZXQgQVBJIGtleVxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIHN0cmluZ1xuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc31cbiAgICAgKi9cbiAgICBzZXRLZXkodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbJ1gtQXBwY29uZGEtS2V5J10gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb25maWcua2V5ID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgSldUXG4gICAgICpcbiAgICAgKiBZb3VyIHNlY3JldCBKU09OIFdlYiBUb2tlblxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIHN0cmluZ1xuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc31cbiAgICAgKi9cbiAgICBzZXRKV1QodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbJ1gtQXBwY29uZGEtSldUJ10gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb25maWcuand0ID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgTG9jYWxlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgICAqL1xuICAgIHNldExvY2FsZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1snWC1BcHBjb25kYS1Mb2NhbGUnXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbmZpZy5sb2NhbGUgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCBTZXNzaW9uXG4gICAgICpcbiAgICAgKiBUaGUgdXNlciBzZXNzaW9uIHRvIGF1dGhlbnRpY2F0ZSB3aXRoXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgICAqL1xuICAgIHNldFNlc3Npb24odmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbJ1gtQXBwY29uZGEtU2Vzc2lvbiddID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29uZmlnLnNlc3Npb24gPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCBGb3J3YXJkZWRVc2VyQWdlbnRcbiAgICAgKlxuICAgICAqIFRoZSB1c2VyIGFnZW50IHN0cmluZyBvZiB0aGUgY2xpZW50IHRoYXQgbWFkZSB0aGUgcmVxdWVzdFxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIHN0cmluZ1xuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc31cbiAgICAgKi9cbiAgICBzZXRGb3J3YXJkZWRVc2VyQWdlbnQodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbJ1gtRm9yd2FyZGVkLVVzZXItQWdlbnQnXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbmZpZy5mb3J3YXJkZWR1c2VyYWdlbnQgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgc2V0RmFsbGJhY2tDb29raWVzKHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzWydYLUZhbGxiYWNrLUNvb2tpZXMnXSA9IHZhbHVlO1xuICAgICAgICAvL3RoaXMuY29uZmlnLmZvcndhcmRlZHVzZXJhZ2VudCA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwcmVwYXJlUmVxdWVzdChtZXRob2Q6IHN0cmluZywgdXJsOiBVUkwsIGhlYWRlcnM6IEhlYWRlcnMgPSB7fSwgcGFyYW1zOiBQYXlsb2FkID0ge30pOiB7IHVyaTogc3RyaW5nLCBvcHRpb25zOiBSZXF1ZXN0SW5pdCB9IHtcbiAgICAgICAgbWV0aG9kID0gbWV0aG9kLnRvVXBwZXJDYXNlKCk7XG5cbiAgICAgICAgaGVhZGVycyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuaGVhZGVycywgaGVhZGVycyk7XG5cbiAgICAgICAgbGV0IG9wdGlvbnM6IFJlcXVlc3RJbml0ID0ge1xuICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICAgIC4uLmNyZWF0ZUFnZW50KHRoaXMuY29uZmlnLmVuZHBvaW50LCB7IHJlamVjdFVuYXV0aG9yaXplZDogIXRoaXMuY29uZmlnLnNlbGZTaWduZWQgfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKENsaWVudC5mbGF0dGVuKHBhcmFtcykpKSB7XG4gICAgICAgICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnYXBwbGljYXRpb24vanNvbic6XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuYm9keSA9IEpTT04uc3RyaW5naWZ5KHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFyYW1zKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIHZhbHVlLCB2YWx1ZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG5lc3RlZFZhbHVlIG9mIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChgJHtrZXl9W11gLCBuZXN0ZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmJvZHkgPSBmb3JtRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IHVyaTogdXJsLnRvU3RyaW5nKCksIG9wdGlvbnMgfTtcbiAgICB9XG5cbiAgICBhc3luYyBjaHVua2VkVXBsb2FkKG1ldGhvZDogc3RyaW5nLCB1cmw6IFVSTCwgaGVhZGVyczogSGVhZGVycyA9IHt9LCBvcmlnaW5hbFBheWxvYWQ6IFBheWxvYWQgPSB7fSwgb25Qcm9ncmVzczogKHByb2dyZXNzOiBVcGxvYWRQcm9ncmVzcykgPT4gdm9pZCkge1xuICAgICAgICBjb25zdCBmaWxlOiBhbnkgPSBPYmplY3QudmFsdWVzKG9yaWdpbmFsUGF5bG9hZCkuZmluZCgodmFsdWUpID0+IHZhbHVlIGluc3RhbmNlb2YgRmlsZSk7XG5cbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA8PSBDbGllbnQuQ0hVTktfU0laRSkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FsbChtZXRob2QsIHVybCwgaGVhZGVycywgb3JpZ2luYWxQYXlsb2FkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdGFydCA9IDA7XG4gICAgICAgIGxldCByZXNwb25zZTogYW55ID0gbnVsbDtcblxuICAgICAgICB3aGlsZSAoc3RhcnQgPCBmaWxlLnNpemUpIHtcbiAgICAgICAgICAgIGxldCBlbmQgPSBzdGFydCArIENsaWVudC5DSFVOS19TSVpFOyAvLyBQcmVwYXJlIGVuZCBmb3IgdGhlIG5leHQgY2h1bmtcbiAgICAgICAgICAgIGlmIChlbmQgPj0gZmlsZS5zaXplKSB7XG4gICAgICAgICAgICAgICAgZW5kID0gZmlsZS5zaXplOyAvLyBBZGp1c3QgZm9yIHRoZSBsYXN0IGNodW5rIHRvIGluY2x1ZGUgdGhlIGxhc3QgYnl0ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoZWFkZXJzWydjb250ZW50LXJhbmdlJ10gPSBgYnl0ZXMgJHtzdGFydH0tJHtlbmQgLSAxfS8ke2ZpbGUuc2l6ZX1gO1xuICAgICAgICAgICAgY29uc3QgY2h1bmsgPSBmaWxlLnNsaWNlKHN0YXJ0LCBlbmQpO1xuXG4gICAgICAgICAgICBsZXQgcGF5bG9hZCA9IHsgLi4ub3JpZ2luYWxQYXlsb2FkLCBmaWxlOiBuZXcgRmlsZShbY2h1bmtdLCBmaWxlLm5hbWUpIH07XG5cbiAgICAgICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsKG1ldGhvZCwgdXJsLCBoZWFkZXJzLCBwYXlsb2FkKTtcblxuICAgICAgICAgICAgaWYgKG9uUHJvZ3Jlc3MgJiYgdHlwZW9mIG9uUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvblByb2dyZXNzKHtcbiAgICAgICAgICAgICAgICAgICAgJGlkOiByZXNwb25zZS4kaWQsXG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzOiBNYXRoLnJvdW5kKChlbmQgLyBmaWxlLnNpemUpICogMTAwKSxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZVVwbG9hZGVkOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNodW5rc1RvdGFsOiBNYXRoLmNlaWwoZmlsZS5zaXplIC8gQ2xpZW50LkNIVU5LX1NJWkUpLFxuICAgICAgICAgICAgICAgICAgICBjaHVua3NVcGxvYWRlZDogTWF0aC5jZWlsKGVuZCAvIENsaWVudC5DSFVOS19TSVpFKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuJGlkKSB7XG4gICAgICAgICAgICAgICAgaGVhZGVyc1sneC1hcHBjb25kYS1pZCddID0gcmVzcG9uc2UuJGlkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdGFydCA9IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICBhc3luYyByZWRpcmVjdChtZXRob2Q6IHN0cmluZywgdXJsOiBVUkwsIGhlYWRlcnM6IEhlYWRlcnMgPSB7fSwgcGFyYW1zOiBQYXlsb2FkID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCB7IHVyaSwgb3B0aW9ucyB9ID0gdGhpcy5wcmVwYXJlUmVxdWVzdChtZXRob2QsIHVybCwgaGVhZGVycywgcGFyYW1zKTtcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSwge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIHJlZGlyZWN0OiAnbWFudWFsJ1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSAzMDEgJiYgcmVzcG9uc2Uuc3RhdHVzICE9PSAzMDIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBBcHBjb25kYUV4Y2VwdGlvbignSW52YWxpZCByZWRpcmVjdCcsIHJlc3BvbnNlLnN0YXR1cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2xvY2F0aW9uJykgfHwgJyc7XG4gICAgfVxuXG4gICAgYXN5bmMgY2FsbChtZXRob2Q6IHN0cmluZywgdXJsOiBVUkwsIGhlYWRlcnM6IEhlYWRlcnMgPSB7fSwgcGFyYW1zOiBQYXlsb2FkID0ge30sIHJlc3BvbnNlVHlwZSA9ICdqc29uJyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IHsgdXJpLCBvcHRpb25zIH0gPSB0aGlzLnByZXBhcmVSZXF1ZXN0KG1ldGhvZCwgdXJsLCBoZWFkZXJzLCBwYXJhbXMpO1xuXG4gICAgICAgIGxldCBkYXRhOiBhbnkgPSBudWxsO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSwgb3B0aW9ucyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHdhcm5pbmdzID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ3gtYXBwY29uZGEtd2FybmluZycpO1xuICAgICAgICAgICAgaWYgKHdhcm5pbmdzKSB7XG4gICAgICAgICAgICAgICAgd2FybmluZ3Muc3BsaXQoJzsnKS5mb3JFYWNoKCh3YXJuaW5nOiBzdHJpbmcpID0+IGNvbnNvbGUud2FybignV2FybmluZzogJyArIHdhcm5pbmcpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2FwcGxpY2F0aW9uL2pzb24nKSkge1xuICAgICAgICAgICAgICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlVHlwZSA9PT0gJ2FycmF5QnVmZmVyJykge1xuICAgICAgICAgICAgICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5hcnJheUJ1ZmZlcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBhd2FpdCByZXNwb25zZS50ZXh0KClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoNDAwIDw9IHJlc3BvbnNlLnN0YXR1cykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBBcHBjb25kYUV4Y2VwdGlvbihkYXRhPy5tZXNzYWdlLCByZXNwb25zZS5zdGF0dXMsIGRhdGE/LnR5cGUsIGRhdGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZmxhdHRlbihkYXRhOiBQYXlsb2FkLCBwcmVmaXggPSAnJyk6IFBheWxvYWQge1xuICAgICAgICBsZXQgb3V0cHV0OiBQYXlsb2FkID0ge307XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGF0YSkpIHtcbiAgICAgICAgICAgIGxldCBmaW5hbEtleSA9IHByZWZpeCA/IHByZWZpeCArICdbJyArIGtleSArICddJyA6IGtleTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIG91dHB1dCA9IHsgLi4ub3V0cHV0LCAuLi5DbGllbnQuZmxhdHRlbih2YWx1ZSwgZmluYWxLZXkpIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG91dHB1dFtmaW5hbEtleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfVxufVxuXG5leHBvcnQgeyBDbGllbnQsIEFwcGNvbmRhRXhjZXB0aW9uIH07XG5leHBvcnQgeyBRdWVyeSB9IGZyb20gJy4vcXVlcnknO1xuZXhwb3J0IHR5cGUgeyBNb2RlbHMsIFBheWxvYWQsIFVwbG9hZFByb2dyZXNzIH07XG5leHBvcnQgdHlwZSB7IFF1ZXJ5VHlwZXMsIFF1ZXJ5VHlwZXNMaXN0IH0gZnJvbSAnLi9xdWVyeSc7XG4iXX0=
@@ -0,0 +1 @@
1
+ export declare function Cache(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -0,0 +1,79 @@
1
+ import { Services } from "../lib/Services";
2
+ function stableStringify(obj) {
3
+ if (obj && typeof obj === "object" && !Array.isArray(obj)) {
4
+ return `{${Object.keys(obj).sort().map(key => `"${key}":${stableStringify(obj[key])}`).join(",")}}`;
5
+ }
6
+ return JSON.stringify(obj);
7
+ }
8
+ function generateCacheKey(...args) {
9
+ return stableStringify(args);
10
+ }
11
+ // console.log(generateCacheKey("user", 123, true, { role: "admin", permissions: ["read", "write"] }));
12
+ // console.log(generateCacheKey("user", 123, true, { permissions: ["read", "write"], role: "admin" }));
13
+ export function Cache( /* cacheKey?: string | string[] */) {
14
+ return function (target, propertyKey, descriptor) {
15
+ const originalMethod = descriptor.value;
16
+ descriptor.value = async function (...args) {
17
+ const className = target.constructor.name.toLowerCase();
18
+ // Metod adı
19
+ const methodName = propertyKey.toLowerCase();
20
+ const cacheKeys = [target.__cacheKeys || []].reverse();
21
+ console.log("Defined cache keys:", cacheKeys);
22
+ const cacheKey = ['admin', className, propertyKey];
23
+ if (cacheKeys.length > 0) {
24
+ for (let i = 0; i < cacheKeys.length; i++) {
25
+ const keyIndex = cacheKeys[i]['parameterIndex'];
26
+ if (args != null && args[keyIndex] != null) {
27
+ const key = args[keyIndex].toString();
28
+ cacheKey.push(key);
29
+ }
30
+ }
31
+ }
32
+ else if (args.length > 0) { //cacheKey belirtilmemisse tum parametreleri kullan
33
+ for (let i = 0; i < args.length; i++) {
34
+ const key = args[i].toString();
35
+ cacheKey.push(key);
36
+ }
37
+ }
38
+ // Cache key'i dizeye dönüştür
39
+ // const key = Array.isArray(cacheKey) ? cacheKey.join(':') : cacheKey;
40
+ // Cache'ten veri al
41
+ let cachedData = await Services.Cache.load(cacheKey);
42
+ if (cachedData != null) {
43
+ return cachedData; // Cache'teki veriyi döndür
44
+ }
45
+ // Orijinal metodu çağır ve dönen değeri cache'e kaydet
46
+ const result = await originalMethod.apply(this, args);
47
+ // Cache'e kaydet (asenkron yapılır, beklenmez)
48
+ Services.Cache.save(cacheKey, result);
49
+ console.log('------------------------------Cache executed..');
50
+ return result;
51
+ };
52
+ return descriptor;
53
+ };
54
+ }
55
+ /* const cacheKeys: any[] = target.__cacheKeys || [];
56
+ console.log("Defined cache keys:", [...cacheKeys].reverse());
57
+
58
+ const className = target.constructor.name.toLowerCase();
59
+
60
+ // Metod adı
61
+ const methodName = propertyKey.toLowerCase();
62
+
63
+ debugger
64
+ const cacheKey = ['admin', className, propertyKey];
65
+ if (cacheKey.length > 0) {
66
+ for (let i = 0; i < cacheKeys.length; i++) {
67
+ const keyIndex = cacheKeys[i]['parameterIndex'];
68
+ if (args != null && args[keyIndex] != null) {
69
+ const key = args[keyIndex].toString();
70
+ cacheKey.push(key);
71
+ }
72
+ }
73
+ } else if (args.length > 0) { //cacheKey belirtilmemisse tum parametreleri kullan
74
+ for (let i = 0; i < args.length; i++) {
75
+ const key = args[i].toString();
76
+ cacheKey.push(key);
77
+ }
78
+ } */
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9DYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJM0MsU0FBUyxlQUFlLENBQUMsR0FBUTtJQUM3QixJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLEtBQUssZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUN0RyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEdBQUcsSUFBVztJQUN0QyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBR0YsdUdBQXVHO0FBQ3ZHLHVHQUF1RztBQUl4RyxNQUFNLFVBQVUsS0FBSyxFQUFDLGtDQUFrQztJQUNwRCxPQUFPLFVBQ0gsTUFBVyxFQUNYLFdBQW1CLEVBQ25CLFVBQThCO1FBRTlCLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFFeEMsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLFdBQVcsR0FBRyxJQUFXO1lBRTdDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRXhELFlBQVk7WUFDWixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFN0MsTUFBTSxTQUFTLEdBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFOUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBRW5ELElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQ2hELElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7d0JBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDdEMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdkIsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxtREFBbUQ7Z0JBQzdFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkIsQ0FBQztZQUNMLENBQUM7WUFFRCw4QkFBOEI7WUFDOUIsdUVBQXVFO1lBRXZFLG9CQUFvQjtZQUNwQixJQUFJLFVBQVUsR0FBRyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXJELElBQUksVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixPQUFPLFVBQVUsQ0FBQyxDQUFDLDJCQUEyQjtZQUNsRCxDQUFDO1lBRUQsdURBQXVEO1lBQ3ZELE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdEQsK0NBQStDO1lBQy9DLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLENBQUE7WUFDN0QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVCSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4uL2xpYi9TZXJ2aWNlc1wiO1xuXG5cblxuZnVuY3Rpb24gc3RhYmxlU3RyaW5naWZ5KG9iajogYW55KTogc3RyaW5nIHtcbiAgICBpZiAob2JqICYmIHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgcmV0dXJuIGB7JHtPYmplY3Qua2V5cyhvYmopLnNvcnQoKS5tYXAoa2V5ID0+IGBcIiR7a2V5fVwiOiR7c3RhYmxlU3RyaW5naWZ5KG9ialtrZXldKX1gKS5qb2luKFwiLFwiKX19YDtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7XG4gIH1cbiAgXG4gIGZ1bmN0aW9uIGdlbmVyYXRlQ2FjaGVLZXkoLi4uYXJnczogYW55W10pOiBzdHJpbmcge1xuICAgIHJldHVybiBzdGFibGVTdHJpbmdpZnkoYXJncyk7XG4gIH1cbiAgXG4gXG4gLy8gY29uc29sZS5sb2coZ2VuZXJhdGVDYWNoZUtleShcInVzZXJcIiwgMTIzLCB0cnVlLCB7IHJvbGU6IFwiYWRtaW5cIiwgcGVybWlzc2lvbnM6IFtcInJlYWRcIiwgXCJ3cml0ZVwiXSB9KSk7XG4gLy8gY29uc29sZS5sb2coZ2VuZXJhdGVDYWNoZUtleShcInVzZXJcIiwgMTIzLCB0cnVlLCB7IHBlcm1pc3Npb25zOiBbXCJyZWFkXCIsIFwid3JpdGVcIl0sIHJvbGU6IFwiYWRtaW5cIiB9KSk7XG5cblxuICBcbmV4cG9ydCBmdW5jdGlvbiBDYWNoZSgvKiBjYWNoZUtleT86IHN0cmluZyB8IHN0cmluZ1tdICovKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChcbiAgICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXG4gICAgICAgIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvclxuICAgICkge1xuICAgICAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XG5cbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXG4gICAgICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB0YXJnZXQuY29uc3RydWN0b3IubmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAvLyBNZXRvZCBhZMSxXG4gICAgICAgICAgICBjb25zdCBtZXRob2ROYW1lID0gcHJvcGVydHlLZXkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgICAgY29uc3QgY2FjaGVLZXlzOiBhbnlbXSA9IFt0YXJnZXQuX19jYWNoZUtleXMgfHwgW11dLnJldmVyc2UoKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRGVmaW5lZCBjYWNoZSBrZXlzOlwiLCBjYWNoZUtleXMpO1xuXG4gICAgICAgICAgICBjb25zdCBjYWNoZUtleSA9IFsnYWRtaW4nLCBjbGFzc05hbWUsIHByb3BlcnR5S2V5XTtcblxuICAgICAgICAgICAgaWYgKGNhY2hlS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYWNoZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5SW5kZXggPSBjYWNoZUtleXNbaV1bJ3BhcmFtZXRlckluZGV4J107XG4gICAgICAgICAgICAgICAgICAgIGlmIChhcmdzICE9IG51bGwgJiYgYXJnc1trZXlJbmRleF0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gYXJnc1trZXlJbmRleF0udG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlS2V5LnB1c2goa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYXJncy5sZW5ndGggPiAwKSB7IC8vY2FjaGVLZXkgYmVsaXJ0aWxtZW1pc3NlIHR1bSBwYXJhbWV0cmVsZXJpIGt1bGxhblxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhcmdzW2ldLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlS2V5LnB1c2goa2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENhY2hlIGtleSdpIGRpemV5ZSBkw7Zuw7zFn3TDvHJcbiAgICAgICAgICAgIC8vIGNvbnN0IGtleSA9IEFycmF5LmlzQXJyYXkoY2FjaGVLZXkpID8gY2FjaGVLZXkuam9pbignOicpIDogY2FjaGVLZXk7XG5cbiAgICAgICAgICAgIC8vIENhY2hlJ3RlbiB2ZXJpIGFsXG4gICAgICAgICAgICBsZXQgY2FjaGVkRGF0YSA9IGF3YWl0IFNlcnZpY2VzLkNhY2hlLmxvYWQoY2FjaGVLZXkpO1xuXG4gICAgICAgICAgICBpZiAoY2FjaGVkRGF0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlZERhdGE7IC8vIENhY2hlJ3Rla2kgdmVyaXlpIGTDtm5kw7xyXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE9yaWppbmFsIG1ldG9kdSDDp2HEn8SxciB2ZSBkw7ZuZW4gZGXEn2VyaSBjYWNoZSdlIGtheWRldFxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncyk7XG5cbiAgICAgICAgICAgIC8vIENhY2hlJ2Uga2F5ZGV0IChhc2Vua3JvbiB5YXDEsWzEsXIsIGJla2xlbm1leilcbiAgICAgICAgICAgIFNlcnZpY2VzLkNhY2hlLnNhdmUoY2FjaGVLZXksIHJlc3VsdCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tQ2FjaGUgZXhlY3V0ZWQuLicpXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgIH07XG59XG5cblxuLyogY29uc3QgY2FjaGVLZXlzOiBhbnlbXSA9IHRhcmdldC5fX2NhY2hlS2V5cyB8fCBbXTtcbmNvbnNvbGUubG9nKFwiRGVmaW5lZCBjYWNoZSBrZXlzOlwiLCBbLi4uY2FjaGVLZXlzXS5yZXZlcnNlKCkpO1xuXG5jb25zdCBjbGFzc05hbWUgPSB0YXJnZXQuY29uc3RydWN0b3IubmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4vLyBNZXRvZCBhZMSxXG5jb25zdCBtZXRob2ROYW1lID0gcHJvcGVydHlLZXkudG9Mb3dlckNhc2UoKTtcblxuZGVidWdnZXJcbmNvbnN0IGNhY2hlS2V5ID0gWydhZG1pbicsIGNsYXNzTmFtZSwgcHJvcGVydHlLZXldO1xuaWYgKGNhY2hlS2V5Lmxlbmd0aCA+IDApIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhY2hlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBrZXlJbmRleCA9IGNhY2hlS2V5c1tpXVsncGFyYW1ldGVySW5kZXgnXTtcbiAgICAgICAgaWYgKGFyZ3MgIT0gbnVsbCAmJiBhcmdzW2tleUluZGV4XSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBhcmdzW2tleUluZGV4XS50b1N0cmluZygpO1xuICAgICAgICAgICAgY2FjaGVLZXkucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgfVxufSBlbHNlIGlmIChhcmdzLmxlbmd0aCA+IDApIHsgLy9jYWNoZUtleSBiZWxpcnRpbG1lbWlzc2UgdHVtIHBhcmFtZXRyZWxlcmkga3VsbGFuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGFyZ3NbaV0udG9TdHJpbmcoKTtcbiAgICAgICAgY2FjaGVLZXkucHVzaChrZXkpO1xuICAgIH1cbn0gKi8iXX0=
@@ -0,0 +1 @@
1
+ export declare function CacheKey(): (target: any, propertyKey: string | symbol, parameterIndex: number) => void;
@@ -0,0 +1,9 @@
1
+ export function CacheKey() {
2
+ return function (target, propertyKey, parameterIndex) {
3
+ if (!target.__cacheKeys) {
4
+ target.__cacheKeys = [];
5
+ }
6
+ target.__cacheKeys.push({ propertyKey, parameterIndex });
7
+ };
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVLZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9DYWNoZUtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLFVBQVUsUUFBUTtJQUNwQixPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQTRCLEVBQUUsY0FBc0I7UUFDOUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgZnVuY3Rpb24gQ2FjaGVLZXkoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCwgcGFyYW1ldGVySW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoIXRhcmdldC5fX2NhY2hlS2V5cykge1xuICAgICAgICAgICAgdGFyZ2V0Ll9fY2FjaGVLZXlzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0Ll9fY2FjaGVLZXlzLnB1c2goeyBwcm9wZXJ0eUtleSwgcGFyYW1ldGVySW5kZXggfSk7XG4gICAgfTtcbn0iXX0=
@@ -0,0 +1 @@
1
+ export declare function Invalidate(keys: string | string[]): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -0,0 +1,47 @@
1
+ import { Services } from "../lib/Services";
2
+ export function Invalidate(keys) {
3
+ return function (target, propertyKey, descriptor) {
4
+ const originalMethod = descriptor.value;
5
+ descriptor.value = async function (...args) {
6
+ const className = target.constructor.name.toLowerCase();
7
+ // Metod adı
8
+ const methodName = propertyKey.toLowerCase();
9
+ const cacheKey = ['admin', className];
10
+ // Orijinal metodu çağır ve dönen değeri cache'e kaydet
11
+ const result = await originalMethod.apply(this, args);
12
+ // Cache'e kaydet (asenkron yapılır, beklenmez)
13
+ for (let key of keys) {
14
+ Services.Cache.purge([...cacheKey, key]);
15
+ Services.Cache.delWithStart([...cacheKey, key]);
16
+ }
17
+ console.log('------------------------------Cache deleted.');
18
+ return result;
19
+ };
20
+ return descriptor;
21
+ };
22
+ }
23
+ /* const cacheKeys: any[] = target.__cacheKeys || [];
24
+ console.log("Defined cache keys:", [...cacheKeys].reverse());
25
+
26
+ const className = target.constructor.name.toLowerCase();
27
+
28
+ // Metod adı
29
+ const methodName = propertyKey.toLowerCase();
30
+
31
+ debugger
32
+ const cacheKey = ['admin', className, propertyKey];
33
+ if (cacheKey.length > 0) {
34
+ for (let i = 0; i < cacheKeys.length; i++) {
35
+ const keyIndex = cacheKeys[i]['parameterIndex'];
36
+ if (args != null && args[keyIndex] != null) {
37
+ const key = args[keyIndex].toString();
38
+ cacheKey.push(key);
39
+ }
40
+ }
41
+ } else if (args.length > 0) { //cacheKey belirtilmemisse tum parametreleri kullan
42
+ for (let i = 0; i < args.length; i++) {
43
+ const key = args[i].toString();
44
+ cacheKey.push(key);
45
+ }
46
+ } */
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW52YWxpZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3JzL0ludmFsaWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTNDLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBdUI7SUFDOUMsT0FBTyxVQUNILE1BQVcsRUFDWCxXQUFtQixFQUNuQixVQUE4QjtRQUU5QixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBRXhDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxXQUFXLEdBQUcsSUFBVztZQUU3QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUV4RCxZQUFZO1lBQ1osTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBSTdDLE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBS3RDLHVEQUF1RDtZQUN2RCxNQUFNLE1BQU0sR0FBRyxNQUFNLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRXRELCtDQUErQztZQUUvQyxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNuQixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBR0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFBO1lBQzNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUVGLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFHRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF1QkkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuLi9saWIvU2VydmljZXNcIjtcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBJbnZhbGlkYXRlKGtleXM6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChcbiAgICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXG4gICAgICAgIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvclxuICAgICkge1xuICAgICAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XG5cbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXG4gICAgICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB0YXJnZXQuY29uc3RydWN0b3IubmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAvLyBNZXRvZCBhZMSxXG4gICAgICAgICAgICBjb25zdCBtZXRob2ROYW1lID0gcHJvcGVydHlLZXkudG9Mb3dlckNhc2UoKTtcblxuXG5cbiAgICAgICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gWydhZG1pbicsIGNsYXNzTmFtZV07XG5cblxuXG5cbiAgICAgICAgICAgIC8vIE9yaWppbmFsIG1ldG9kdSDDp2HEn8SxciB2ZSBkw7ZuZW4gZGXEn2VyaSBjYWNoZSdlIGtheWRldFxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncyk7XG5cbiAgICAgICAgICAgIC8vIENhY2hlJ2Uga2F5ZGV0IChhc2Vua3JvbiB5YXDEsWzEsXIsIGJla2xlbm1leilcblxuICAgICAgICAgICAgZm9yIChsZXQga2V5IG9mIGtleXMpIHtcbiAgICAgICAgICAgICAgICBTZXJ2aWNlcy5DYWNoZS5wdXJnZShbLi4uY2FjaGVLZXksIGtleV0pO1xuICAgICAgICAgICAgICAgIFNlcnZpY2VzLkNhY2hlLmRlbFdpdGhTdGFydChbLi4uY2FjaGVLZXksIGtleV0pO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1DYWNoZSBkZWxldGVkLicpXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgIH07XG59XG5cblxuLyogY29uc3QgY2FjaGVLZXlzOiBhbnlbXSA9IHRhcmdldC5fX2NhY2hlS2V5cyB8fCBbXTtcbmNvbnNvbGUubG9nKFwiRGVmaW5lZCBjYWNoZSBrZXlzOlwiLCBbLi4uY2FjaGVLZXlzXS5yZXZlcnNlKCkpO1xuXG5jb25zdCBjbGFzc05hbWUgPSB0YXJnZXQuY29uc3RydWN0b3IubmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4vLyBNZXRvZCBhZMSxXG5jb25zdCBtZXRob2ROYW1lID0gcHJvcGVydHlLZXkudG9Mb3dlckNhc2UoKTtcblxuZGVidWdnZXJcbmNvbnN0IGNhY2hlS2V5ID0gWydhZG1pbicsIGNsYXNzTmFtZSwgcHJvcGVydHlLZXldO1xuaWYgKGNhY2hlS2V5Lmxlbmd0aCA+IDApIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhY2hlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBrZXlJbmRleCA9IGNhY2hlS2V5c1tpXVsncGFyYW1ldGVySW5kZXgnXTtcbiAgICAgICAgaWYgKGFyZ3MgIT0gbnVsbCAmJiBhcmdzW2tleUluZGV4XSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBhcmdzW2tleUluZGV4XS50b1N0cmluZygpO1xuICAgICAgICAgICAgY2FjaGVLZXkucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgfVxufSBlbHNlIGlmIChhcmdzLmxlbmd0aCA+IDApIHsgLy9jYWNoZUtleSBiZWxpcnRpbG1lbWlzc2UgdHVtIHBhcmFtZXRyZWxlcmkga3VsbGFuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGFyZ3NbaV0udG9TdHJpbmcoKTtcbiAgICAgICAgY2FjaGVLZXkucHVzaChrZXkpO1xuICAgIH1cbn0gKi8iXX0=
@@ -0,0 +1,13 @@
1
+ export declare enum ApiService {
2
+ Account = "account",
3
+ Avatars = "avatars",
4
+ Databases = "databases",
5
+ Locale = "locale",
6
+ Health = "health",
7
+ Storage = "storage",
8
+ Teams = "teams",
9
+ Users = "users",
10
+ Functions = "functions",
11
+ Graphql = "graphql",
12
+ Messaging = "messaging"
13
+ }
@@ -0,0 +1,15 @@
1
+ export var ApiService;
2
+ (function (ApiService) {
3
+ ApiService["Account"] = "account";
4
+ ApiService["Avatars"] = "avatars";
5
+ ApiService["Databases"] = "databases";
6
+ ApiService["Locale"] = "locale";
7
+ ApiService["Health"] = "health";
8
+ ApiService["Storage"] = "storage";
9
+ ApiService["Teams"] = "teams";
10
+ ApiService["Users"] = "users";
11
+ ApiService["Functions"] = "functions";
12
+ ApiService["Graphql"] = "graphql";
13
+ ApiService["Messaging"] = "messaging";
14
+ })(ApiService || (ApiService = {}));
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW51bXMvYXBpLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFZWDtBQVpELFdBQVksVUFBVTtJQUNsQixpQ0FBbUIsQ0FBQTtJQUNuQixpQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBdUIsQ0FBQTtJQUN2QiwrQkFBaUIsQ0FBQTtJQUNqQiwrQkFBaUIsQ0FBQTtJQUNqQixpQ0FBbUIsQ0FBQTtJQUNuQiw2QkFBZSxDQUFBO0lBQ2YsNkJBQWUsQ0FBQTtJQUNmLHFDQUF1QixDQUFBO0lBQ3ZCLGlDQUFtQixDQUFBO0lBQ25CLHFDQUF1QixDQUFBO0FBQzNCLENBQUMsRUFaVyxVQUFVLEtBQVYsVUFBVSxRQVlyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFwaVNlcnZpY2Uge1xuICAgIEFjY291bnQgPSAnYWNjb3VudCcsXG4gICAgQXZhdGFycyA9ICdhdmF0YXJzJyxcbiAgICBEYXRhYmFzZXMgPSAnZGF0YWJhc2VzJyxcbiAgICBMb2NhbGUgPSAnbG9jYWxlJyxcbiAgICBIZWFsdGggPSAnaGVhbHRoJyxcbiAgICBTdG9yYWdlID0gJ3N0b3JhZ2UnLFxuICAgIFRlYW1zID0gJ3RlYW1zJyxcbiAgICBVc2VycyA9ICd1c2VycycsXG4gICAgRnVuY3Rpb25zID0gJ2Z1bmN0aW9ucycsXG4gICAgR3JhcGhxbCA9ICdncmFwaHFsJyxcbiAgICBNZXNzYWdpbmcgPSAnbWVzc2FnaW5nJyxcbn0iXX0=
@@ -0,0 +1,5 @@
1
+ export declare enum Api {
2
+ Rest = "rest",
3
+ Graphql = "graphql",
4
+ Realtime = "realtime"
5
+ }
@@ -0,0 +1,7 @@
1
+ export var Api;
2
+ (function (Api) {
3
+ Api["Rest"] = "rest";
4
+ Api["Graphql"] = "graphql";
5
+ Api["Realtime"] = "realtime";
6
+ })(Api || (Api = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VudW1zL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxHQUlYO0FBSkQsV0FBWSxHQUFHO0lBQ1gsb0JBQWEsQ0FBQTtJQUNiLDBCQUFtQixDQUFBO0lBQ25CLDRCQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFKVyxHQUFHLEtBQUgsR0FBRyxRQUlkIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXBpIHtcbiAgICBSZXN0ID0gJ3Jlc3QnLFxuICAgIEdyYXBocWwgPSAnZ3JhcGhxbCcsXG4gICAgUmVhbHRpbWUgPSAncmVhbHRpbWUnLFxufSJdfQ==
@@ -0,0 +1,9 @@
1
+ export declare enum AuthMethod {
2
+ Emailpassword = "email-password",
3
+ Magicurl = "magic-url",
4
+ Emailotp = "email-otp",
5
+ Anonymous = "anonymous",
6
+ Invites = "invites",
7
+ Jwt = "jwt",
8
+ Phone = "phone"
9
+ }
@@ -0,0 +1,11 @@
1
+ export var AuthMethod;
2
+ (function (AuthMethod) {
3
+ AuthMethod["Emailpassword"] = "email-password";
4
+ AuthMethod["Magicurl"] = "magic-url";
5
+ AuthMethod["Emailotp"] = "email-otp";
6
+ AuthMethod["Anonymous"] = "anonymous";
7
+ AuthMethod["Invites"] = "invites";
8
+ AuthMethod["Jwt"] = "jwt";
9
+ AuthMethod["Phone"] = "phone";
10
+ })(AuthMethod || (AuthMethod = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW51bXMvYXV0aC1tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFRWDtBQVJELFdBQVksVUFBVTtJQUNsQiw4Q0FBZ0MsQ0FBQTtJQUNoQyxvQ0FBc0IsQ0FBQTtJQUN0QixvQ0FBc0IsQ0FBQTtJQUN0QixxQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBbUIsQ0FBQTtJQUNuQix5QkFBVyxDQUFBO0lBQ1gsNkJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBUlcsVUFBVSxLQUFWLFVBQVUsUUFRckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBdXRoTWV0aG9kIHtcbiAgICBFbWFpbHBhc3N3b3JkID0gJ2VtYWlsLXBhc3N3b3JkJyxcbiAgICBNYWdpY3VybCA9ICdtYWdpYy11cmwnLFxuICAgIEVtYWlsb3RwID0gJ2VtYWlsLW90cCcsXG4gICAgQW5vbnltb3VzID0gJ2Fub255bW91cycsXG4gICAgSW52aXRlcyA9ICdpbnZpdGVzJyxcbiAgICBKd3QgPSAnand0JyxcbiAgICBQaG9uZSA9ICdwaG9uZScsXG59Il19
@@ -0,0 +1,16 @@
1
+ export declare enum Browser {
2
+ AvantBrowser = "aa",
3
+ AndroidWebViewBeta = "an",
4
+ GoogleChrome = "ch",
5
+ GoogleChromeIOS = "ci",
6
+ GoogleChromeMobile = "cm",
7
+ Chromium = "cr",
8
+ MozillaFirefox = "ff",
9
+ Safari = "sf",
10
+ MobileSafari = "mf",
11
+ MicrosoftEdge = "ps",
12
+ MicrosoftEdgeIOS = "oi",
13
+ OperaMini = "om",
14
+ Opera = "op",
15
+ OperaNext = "on"
16
+ }