@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.
- package/dist/actions/actionClient.d.ts +10 -0
- package/dist/actions/actionClient.js +41 -0
- package/dist/actions/auth.d.ts +1 -0
- package/dist/actions/auth.js +7 -0
- package/dist/actions/authOptions.d.ts +5 -0
- package/dist/actions/authOptions.js +235 -0
- package/dist/actions/index.d.ts +3 -0
- package/dist/actions/index.js +4 -0
- package/dist/actions/nextAuthHandler.d.ts +1 -0
- package/dist/actions/nextAuthHandler.js +6 -0
- package/dist/client.d.ts +141 -0
- package/dist/client.js +335 -0
- package/dist/decorators/Cache.d.ts +1 -0
- package/dist/decorators/Cache.js +79 -0
- package/dist/decorators/CacheKey.d.ts +1 -0
- package/dist/decorators/CacheKey.js +9 -0
- package/dist/decorators/Invalidate.d.ts +1 -0
- package/dist/decorators/Invalidate.js +47 -0
- package/dist/enums/api-service.d.ts +13 -0
- package/dist/enums/api-service.js +15 -0
- package/dist/enums/api.d.ts +5 -0
- package/dist/enums/api.js +7 -0
- package/dist/enums/auth-method.d.ts +9 -0
- package/dist/enums/auth-method.js +11 -0
- package/dist/enums/browser.d.ts +16 -0
- package/dist/enums/browser.js +18 -0
- package/dist/enums/compression.d.ts +5 -0
- package/dist/enums/compression.js +7 -0
- package/dist/enums/credit-card.d.ts +18 -0
- package/dist/enums/credit-card.js +20 -0
- package/dist/enums/database-usage-range.d.ts +5 -0
- package/dist/enums/database-usage-range.js +7 -0
- package/dist/enums/email-template-locale.d.ts +133 -0
- package/dist/enums/email-template-locale.js +135 -0
- package/dist/enums/email-template-type.d.ts +9 -0
- package/dist/enums/email-template-type.js +11 -0
- package/dist/enums/entities/EntityLimitType.d.ts +4 -0
- package/dist/enums/entities/EntityLimitType.js +6 -0
- package/dist/enums/entities/PropertyAttributeName.d.ts +27 -0
- package/dist/enums/entities/PropertyAttributeName.js +29 -0
- package/dist/enums/entities/PropertyCondition.d.ts +7 -0
- package/dist/enums/entities/PropertyCondition.js +10 -0
- package/dist/enums/entities/PropertyType.d.ts +12 -0
- package/dist/enums/entities/PropertyType.js +18 -0
- package/dist/enums/entities/PropertyValueType.d.ts +6 -0
- package/dist/enums/entities/PropertyValueType.js +8 -0
- package/dist/enums/entities/RowAccess.d.ts +2 -0
- package/dist/enums/entities/RowAccess.js +2 -0
- package/dist/enums/entities/ViewFilterCondition.d.ts +12 -0
- package/dist/enums/entities/ViewFilterCondition.js +14 -0
- package/dist/enums/execution-method.d.ts +8 -0
- package/dist/enums/execution-method.js +10 -0
- package/dist/enums/flag.d.ts +197 -0
- package/dist/enums/flag.js +199 -0
- package/dist/enums/function-usage-range.d.ts +5 -0
- package/dist/enums/function-usage-range.js +7 -0
- package/dist/enums/image-format.d.ts +7 -0
- package/dist/enums/image-format.js +9 -0
- package/dist/enums/image-gravity.d.ts +11 -0
- package/dist/enums/image-gravity.js +13 -0
- package/dist/enums/index-type.d.ts +5 -0
- package/dist/enums/index-type.js +7 -0
- package/dist/enums/messaging-provider-type.d.ts +5 -0
- package/dist/enums/messaging-provider-type.js +7 -0
- package/dist/enums/name.d.ts +14 -0
- package/dist/enums/name.js +16 -0
- package/dist/enums/o-auth-provider copy.d.ts +41 -0
- package/dist/enums/o-auth-provider copy.js +43 -0
- package/dist/enums/password-hash.d.ts +13 -0
- package/dist/enums/password-hash.js +15 -0
- package/dist/enums/platform-type.d.ts +17 -0
- package/dist/enums/platform-type.js +19 -0
- package/dist/enums/project-usage-range.d.ts +4 -0
- package/dist/enums/project-usage-range.js +6 -0
- package/dist/enums/region.d.ts +4 -0
- package/dist/enums/region.js +6 -0
- package/dist/enums/relation-mutate.d.ts +5 -0
- package/dist/enums/relation-mutate.js +7 -0
- package/dist/enums/relationship-type.d.ts +6 -0
- package/dist/enums/relationship-type.js +8 -0
- package/dist/enums/resource-type.d.ts +4 -0
- package/dist/enums/resource-type.js +6 -0
- package/dist/enums/runtime.d.ts +48 -0
- package/dist/enums/runtime.js +50 -0
- package/dist/enums/s-m-t-p-secure.d.ts +3 -0
- package/dist/enums/s-m-t-p-secure.js +5 -0
- package/dist/enums/shared/ApplicationLayout.d.ts +4 -0
- package/dist/enums/shared/ApplicationLayout.js +6 -0
- package/dist/enums/shared/Colors.d.ts +24 -0
- package/dist/enums/shared/Colors.js +26 -0
- package/dist/enums/shared/InputType.d.ts +6 -0
- package/dist/enums/shared/InputType.js +8 -0
- package/dist/enums/shared/Periodicity.d.ts +7 -0
- package/dist/enums/shared/Periodicity.js +9 -0
- package/dist/enums/shared/SvgIcon.d.ts +37 -0
- package/dist/enums/shared/SvgIcon.js +39 -0
- package/dist/enums/shared/Theme.d.ts +4 -0
- package/dist/enums/shared/Theme.js +6 -0
- package/dist/enums/sms-template-locale.d.ts +133 -0
- package/dist/enums/sms-template-locale.js +135 -0
- package/dist/enums/sms-template-type.d.ts +6 -0
- package/dist/enums/sms-template-type.js +8 -0
- package/dist/enums/smtp-encryption.d.ts +5 -0
- package/dist/enums/smtp-encryption.js +7 -0
- package/dist/enums/storage-usage-range.d.ts +5 -0
- package/dist/enums/storage-usage-range.js +7 -0
- package/dist/enums/subscriptions/PricingModel.d.ts +11 -0
- package/dist/enums/subscriptions/PricingModel.js +12 -0
- package/dist/enums/subscriptions/SubscriptionBillingPeriod.d.ts +10 -0
- package/dist/enums/subscriptions/SubscriptionBillingPeriod.js +11 -0
- package/dist/enums/subscriptions/SubscriptionFeatureLimitType.d.ts +10 -0
- package/dist/enums/subscriptions/SubscriptionFeatureLimitType.js +13 -0
- package/dist/enums/subscriptions/SubscriptionPriceType.d.ts +7 -0
- package/dist/enums/subscriptions/SubscriptionPriceType.js +8 -0
- package/dist/enums/tenants/LinkedAccountStatus.d.ts +5 -0
- package/dist/enums/tenants/LinkedAccountStatus.js +7 -0
- package/dist/enums/tenants/TenantUserJoined.d.ts +6 -0
- package/dist/enums/tenants/TenantUserJoined.js +8 -0
- package/dist/enums/tenants/TenantUserStatus.d.ts +6 -0
- package/dist/enums/tenants/TenantUserStatus.js +8 -0
- package/dist/enums/tenants/TenantUserType.d.ts +5 -0
- package/dist/enums/tenants/TenantUserType.js +7 -0
- package/dist/enums/user-usage-range.d.ts +5 -0
- package/dist/enums/user-usage-range.js +7 -0
- package/dist/getAppcondaClient.d.ts +2 -0
- package/dist/getAppcondaClient.js +44 -0
- package/dist/getSDKForCurrentUser.d.ts +43 -0
- package/dist/getSDKForCurrentUser.js +76 -0
- package/dist/getSDKForService.d.ts +6 -0
- package/dist/getSDKForService.js +51 -0
- package/dist/getSDKForTenant.d.ts +20 -0
- package/dist/getSDKForTenant.js +44 -0
- package/dist/id.d.ts +20 -0
- package/dist/id.js +45 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.js +42 -0
- package/dist/inputFile.d.ts +6 -0
- package/dist/inputFile.js +17 -0
- package/dist/lib/Cache/Adapter.d.ts +10 -0
- package/dist/lib/Cache/Adapter.js +2 -0
- package/dist/lib/Cache/Adapters/Filesystem.d.ts +16 -0
- package/dist/lib/Cache/Adapters/Filesystem.js +103 -0
- package/dist/lib/Cache/Adapters/Memory.d.ts +18 -0
- package/dist/lib/Cache/Adapters/Memory.js +47 -0
- package/dist/lib/Cache/Adapters/None.d.ts +12 -0
- package/dist/lib/Cache/Adapters/None.js +28 -0
- package/dist/lib/Cache/Adapters/Sharding.d.ts +17 -0
- package/dist/lib/Cache/Adapters/Sharding.js +73 -0
- package/dist/lib/Cache/Cache.d.ts +16 -0
- package/dist/lib/Cache/Cache.js +52 -0
- package/dist/lib/Cache/index.d.ts +4 -0
- package/dist/lib/Cache/index.js +5 -0
- package/dist/lib/Cache/test.d.ts +0 -0
- package/dist/lib/Cache/test.js +1 -0
- package/dist/lib/Registry/Registry.d.ts +38 -0
- package/dist/lib/Registry/Registry.js +56 -0
- package/dist/lib/Registry/index.d.ts +1 -0
- package/dist/lib/Registry/index.js +2 -0
- package/dist/lib/Services.d.ts +6 -0
- package/dist/lib/Services.js +14 -0
- package/dist/lib/crypto.d.ts +23 -0
- package/dist/lib/crypto.js +78 -0
- package/dist/lib/env.d.ts +1 -0
- package/dist/lib/env.js +137 -0
- package/dist/lib/errors.d.ts +70 -0
- package/dist/lib/errors.js +76 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +3 -0
- package/dist/lib/jwt.d.ts +12 -0
- package/dist/lib/jwt.js +103 -0
- package/dist/models.d.ts +3272 -0
- package/dist/models.js +2 -0
- package/dist/modules/account/actions.d.ts +31 -0
- package/dist/modules/account/actions.js +18 -0
- package/dist/modules/account/enums/authentication-factor.d.ts +6 -0
- package/dist/modules/account/enums/authentication-factor.js +8 -0
- package/dist/modules/account/enums/authenticator-type.d.ts +3 -0
- package/dist/modules/account/enums/authenticator-type.js +5 -0
- package/dist/modules/account/enums/o-auth-provider.d.ts +41 -0
- package/dist/modules/account/enums/o-auth-provider.js +43 -0
- package/dist/modules/account/index.d.ts +3 -0
- package/dist/modules/account/index.js +4 -0
- package/dist/modules/account/schema.d.ts +17 -0
- package/dist/modules/account/schema.js +8 -0
- package/dist/modules/account/service.d.ts +530 -0
- package/dist/modules/account/service.js +1260 -0
- package/dist/modules/account/types.d.ts +411 -0
- package/dist/modules/account/types.js +2 -0
- package/dist/modules/acl/service.d.ts +26 -0
- package/dist/modules/acl/service.js +27 -0
- package/dist/modules/agent/action.d.ts +57 -0
- package/dist/modules/agent/action.js +64 -0
- package/dist/modules/agent/index.d.ts +4 -0
- package/dist/modules/agent/index.js +5 -0
- package/dist/modules/agent/schema.d.ts +48 -0
- package/dist/modules/agent/schema.js +21 -0
- package/dist/modules/agent/service.d.ts +12 -0
- package/dist/modules/agent/service.js +22 -0
- package/dist/modules/agent/types.d.ts +11 -0
- package/dist/modules/agent/types.js +2 -0
- package/dist/modules/ai/index.d.ts +1 -0
- package/dist/modules/ai/index.js +2 -0
- package/dist/modules/ai/node/actions.d.ts +4 -0
- package/dist/modules/ai/node/actions.js +16 -0
- package/dist/modules/ai/node/index.d.ts +2 -0
- package/dist/modules/ai/node/index.js +3 -0
- package/dist/modules/ai/node/service.d.ts +5 -0
- package/dist/modules/ai/node/service.js +12 -0
- package/dist/modules/index.d.ts +6 -0
- package/dist/modules/index.js +7 -0
- package/dist/modules/task/action.d.ts +201 -0
- package/dist/modules/task/action.js +147 -0
- package/dist/modules/task/index.d.ts +4 -0
- package/dist/modules/task/index.js +5 -0
- package/dist/modules/task/schema.d.ts +107 -0
- package/dist/modules/task/schema.js +44 -0
- package/dist/modules/task/service.d.ts +19 -0
- package/dist/modules/task/service.js +43 -0
- package/dist/modules/task/types.d.ts +84 -0
- package/dist/modules/task/types.js +2 -0
- package/dist/modules/tenant/actions.d.ts +49 -0
- package/dist/modules/tenant/actions.js +38 -0
- package/dist/modules/tenant/index.d.ts +3 -0
- package/dist/modules/tenant/index.js +4 -0
- package/dist/modules/tenant/tenant.d.ts +32 -0
- package/dist/modules/tenant/tenant.js +125 -0
- package/dist/modules/tenant/types.d.ts +11 -0
- package/dist/modules/tenant/types.js +2 -0
- package/dist/modules/waitlist/action.d.ts +71 -0
- package/dist/modules/waitlist/action.js +78 -0
- package/dist/modules/waitlist/index.d.ts +4 -0
- package/dist/modules/waitlist/index.js +5 -0
- package/dist/modules/waitlist/schema.d.ts +39 -0
- package/dist/modules/waitlist/schema.js +18 -0
- package/dist/modules/waitlist/service.d.ts +13 -0
- package/dist/modules/waitlist/service.js +28 -0
- package/dist/modules/waitlist/types.d.ts +14 -0
- package/dist/modules/waitlist/types.js +2 -0
- package/dist/permission.d.ts +43 -0
- package/dist/permission.js +54 -0
- package/dist/query.d.ts +194 -0
- package/dist/query.js +204 -0
- package/dist/role.d.ts +70 -0
- package/dist/role.js +94 -0
- package/dist/schemas/nodes.d.ts +0 -0
- package/dist/schemas/nodes.js +1 -0
- package/dist/service-client.d.ts +7 -0
- package/dist/service-client.js +14 -0
- package/dist/service.d.ts +11 -0
- package/dist/service.js +23 -0
- package/dist/services/applets.d.ts +9 -0
- package/dist/services/applets.js +40 -0
- package/dist/services/avatars.d.ts +115 -0
- package/dist/services/avatars.js +251 -0
- package/dist/services/chat-flow.d.ts +7 -0
- package/dist/services/chat-flow.js +26 -0
- package/dist/services/community.d.ts +19 -0
- package/dist/services/community.js +69 -0
- package/dist/services/configuration.d.ts +5 -0
- package/dist/services/configuration.js +11 -0
- package/dist/services/databases.d.ts +613 -0
- package/dist/services/databases.js +1736 -0
- package/dist/services/functions.d.ts +319 -0
- package/dist/services/functions.js +810 -0
- package/dist/services/graphql.d.ts +25 -0
- package/dist/services/graphql.js +57 -0
- package/dist/services/health.d.ts +231 -0
- package/dist/services/health.js +463 -0
- package/dist/services/locale.d.ts +80 -0
- package/dist/services/locale.js +144 -0
- package/dist/services/messaging.d.ts +685 -0
- package/dist/services/messaging.js +1920 -0
- package/dist/services/permissions.d.ts +20 -0
- package/dist/services/permissions.js +90 -0
- package/dist/services/pricing.d.ts +15 -0
- package/dist/services/pricing.js +21 -0
- package/dist/services/projects.d.ts +542 -0
- package/dist/services/projects.js +1526 -0
- package/dist/services/roles.d.ts +19 -0
- package/dist/services/roles.js +72 -0
- package/dist/services/schema.d.ts +17 -0
- package/dist/services/schema.js +48 -0
- package/dist/services/storage.d.ts +189 -0
- package/dist/services/storage.js +474 -0
- package/dist/services/subscription.d.ts +15 -0
- package/dist/services/subscription.js +30 -0
- package/dist/services/teams.d.ts +167 -0
- package/dist/services/teams.js +395 -0
- package/dist/services/tenant-subscription.d.ts +12 -0
- package/dist/services/tenant-subscription.js +52 -0
- package/dist/services/users.d.ts +499 -0
- package/dist/services/users.js +1283 -0
- 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,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,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
|
+
}
|