@appconda/nextjs 1.0.161 → 1.1.2

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 (256) hide show
  1. package/dist/actions/actionClient.d.ts +8 -2
  2. package/dist/actions/actionClient.js +21 -15
  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 +1 -1
  12. package/dist/client.js +1 -0
  13. package/dist/decorators/Cache.js +1 -0
  14. package/dist/decorators/CacheKey.js +1 -0
  15. package/dist/decorators/Invalidate.js +1 -0
  16. package/dist/enums/api-service.js +1 -0
  17. package/dist/enums/api.js +1 -0
  18. package/dist/enums/auth-method.js +1 -0
  19. package/dist/enums/browser.js +1 -0
  20. package/dist/enums/compression.js +1 -0
  21. package/dist/enums/credit-card.js +1 -0
  22. package/dist/enums/database-usage-range.js +1 -0
  23. package/dist/enums/email-template-locale.js +1 -0
  24. package/dist/enums/email-template-type.js +1 -0
  25. package/dist/enums/entities/EntityLimitType.js +1 -0
  26. package/dist/enums/entities/PropertyAttributeName.js +1 -0
  27. package/dist/enums/entities/PropertyCondition.js +1 -0
  28. package/dist/enums/entities/PropertyType.js +1 -0
  29. package/dist/enums/entities/PropertyValueType.js +1 -0
  30. package/dist/enums/entities/RowAccess.js +1 -0
  31. package/dist/enums/entities/ViewFilterCondition.js +1 -0
  32. package/dist/enums/execution-method.js +1 -0
  33. package/dist/enums/flag.js +1 -0
  34. package/dist/enums/function-usage-range.js +1 -0
  35. package/dist/enums/image-format.js +1 -0
  36. package/dist/enums/image-gravity.js +1 -0
  37. package/dist/enums/index-type.js +1 -0
  38. package/dist/enums/messaging-provider-type.js +1 -0
  39. package/dist/enums/name.js +1 -0
  40. package/dist/enums/o-auth-provider copy.js +1 -0
  41. package/dist/enums/password-hash.js +1 -0
  42. package/dist/enums/platform-type.js +1 -0
  43. package/dist/enums/project-usage-range.js +1 -0
  44. package/dist/enums/region.js +1 -0
  45. package/dist/enums/relation-mutate.js +1 -0
  46. package/dist/enums/relationship-type.js +1 -0
  47. package/dist/enums/resource-type.js +1 -0
  48. package/dist/enums/runtime.js +1 -0
  49. package/dist/enums/s-m-t-p-secure.js +1 -0
  50. package/dist/enums/shared/ApplicationLayout.js +1 -0
  51. package/dist/enums/shared/Colors.js +1 -0
  52. package/dist/enums/shared/InputType.js +1 -0
  53. package/dist/enums/shared/Periodicity.js +1 -0
  54. package/dist/enums/shared/SvgIcon.js +1 -0
  55. package/dist/enums/shared/Theme.js +1 -0
  56. package/dist/enums/sms-template-locale.js +1 -0
  57. package/dist/enums/sms-template-type.js +1 -0
  58. package/dist/enums/smtp-encryption.js +1 -0
  59. package/dist/enums/storage-usage-range.js +1 -0
  60. package/dist/enums/subscriptions/PricingModel.js +1 -0
  61. package/dist/enums/subscriptions/SubscriptionBillingPeriod.js +1 -0
  62. package/dist/enums/subscriptions/SubscriptionFeatureLimitType.js +1 -0
  63. package/dist/enums/subscriptions/SubscriptionPriceType.js +1 -0
  64. package/dist/enums/tenants/LinkedAccountStatus.js +1 -0
  65. package/dist/enums/tenants/TenantUserJoined.js +1 -0
  66. package/dist/enums/tenants/TenantUserStatus.js +1 -0
  67. package/dist/enums/tenants/TenantUserType.js +1 -0
  68. package/dist/enums/user-usage-range.js +1 -0
  69. package/dist/getAppcondaClient.js +5 -3
  70. package/dist/getSDKForCurrentUser.d.ts +8 -2
  71. package/dist/getSDKForCurrentUser.js +13 -5
  72. package/dist/getSDKForService.js +3 -1
  73. package/dist/getSDKForTenant.d.ts +20 -0
  74. package/dist/getSDKForTenant.js +44 -0
  75. package/dist/id.js +1 -0
  76. package/dist/index.d.ts +4 -1
  77. package/dist/index.js +5 -1
  78. package/dist/inputFile.js +1 -0
  79. package/dist/lib/Cache/Adapter.js +1 -0
  80. package/dist/lib/Cache/Adapters/Filesystem.js +1 -0
  81. package/dist/lib/Cache/Adapters/Memory.js +1 -0
  82. package/dist/lib/Cache/Adapters/None.js +1 -0
  83. package/dist/lib/Cache/Adapters/Sharding.js +1 -0
  84. package/dist/lib/Cache/Cache.js +1 -0
  85. package/dist/lib/Cache/index.js +1 -0
  86. package/dist/lib/Cache/test.js +1 -0
  87. package/dist/lib/Registry/Registry.js +1 -0
  88. package/dist/lib/Registry/index.js +1 -0
  89. package/dist/lib/Services.js +1 -0
  90. package/dist/lib/crypto.d.ts +23 -0
  91. package/dist/lib/crypto.js +78 -0
  92. package/dist/lib/env.d.ts +1 -0
  93. package/dist/lib/env.js +137 -0
  94. package/dist/lib/errors.d.ts +70 -0
  95. package/dist/lib/errors.js +76 -0
  96. package/dist/lib/index.d.ts +2 -0
  97. package/dist/lib/index.js +3 -0
  98. package/dist/lib/jwt.d.ts +12 -0
  99. package/dist/lib/jwt.js +103 -0
  100. package/dist/models.js +1 -0
  101. package/dist/modules/account/actions.d.ts +20 -14
  102. package/dist/modules/account/actions.js +1 -0
  103. package/dist/modules/account/enums/authentication-factor.js +1 -0
  104. package/dist/modules/account/enums/authenticator-type.js +1 -0
  105. package/dist/modules/account/enums/o-auth-provider.js +1 -0
  106. package/dist/modules/account/index.js +1 -0
  107. package/dist/modules/account/schema.d.ts +8 -8
  108. package/dist/modules/account/schema.js +1 -0
  109. package/dist/modules/account/service.js +1 -0
  110. package/dist/modules/account/types.js +1 -0
  111. package/dist/modules/acl/service.d.ts +26 -0
  112. package/dist/modules/acl/service.js +27 -0
  113. package/dist/modules/agent/action.d.ts +27 -23
  114. package/dist/modules/agent/action.js +1 -0
  115. package/dist/modules/agent/index.js +1 -0
  116. package/dist/modules/agent/schema.d.ts +18 -18
  117. package/dist/modules/agent/schema.js +1 -0
  118. package/dist/modules/agent/service.js +1 -0
  119. package/dist/modules/agent/types.js +1 -0
  120. package/dist/modules/ai/index.js +1 -0
  121. package/dist/modules/ai/node/actions.d.ts +1 -1
  122. package/dist/modules/ai/node/actions.js +1 -0
  123. package/dist/modules/ai/node/index.js +1 -0
  124. package/dist/modules/ai/node/service.js +1 -0
  125. package/dist/modules/index.d.ts +3 -0
  126. package/dist/modules/index.js +4 -0
  127. package/dist/modules/scheduled-job/action.d.ts +97 -0
  128. package/dist/modules/scheduled-job/action.js +77 -0
  129. package/dist/modules/scheduled-job/index.d.ts +7 -0
  130. package/dist/modules/scheduled-job/index.js +8 -0
  131. package/dist/modules/scheduled-job/lib/Schedules.d.ts +32 -0
  132. package/dist/modules/scheduled-job/lib/Schedules.js +64 -0
  133. package/dist/modules/scheduled-job/lib/handler.d.ts +12 -0
  134. package/dist/modules/scheduled-job/lib/handler.js +23 -0
  135. package/dist/modules/scheduled-job/lib/jobs/index.d.ts +2 -0
  136. package/dist/modules/scheduled-job/lib/jobs/index.js +3 -0
  137. package/dist/modules/scheduled-job/lib/jobs/job1.d.ts +1 -0
  138. package/dist/modules/scheduled-job/lib/jobs/job1.js +30 -0
  139. package/dist/modules/scheduled-job/lib/jobs/log-job.d.ts +1 -0
  140. package/dist/modules/scheduled-job/lib/jobs/log-job.js +9 -0
  141. package/dist/modules/scheduled-job/lib/wait.d.ts +8 -0
  142. package/dist/modules/scheduled-job/lib/wait.js +13 -0
  143. package/dist/modules/scheduled-job/schema.d.ts +52 -0
  144. package/dist/modules/scheduled-job/schema.js +23 -0
  145. package/dist/modules/scheduled-job/service.d.ts +13 -0
  146. package/dist/modules/scheduled-job/service.js +25 -0
  147. package/dist/modules/scheduled-job/types.d.ts +29 -0
  148. package/dist/modules/scheduled-job/types.js +2 -0
  149. package/dist/modules/task/action.d.ts +201 -0
  150. package/dist/modules/task/action.js +147 -0
  151. package/dist/modules/task/index.d.ts +4 -0
  152. package/dist/modules/task/index.js +5 -0
  153. package/dist/modules/task/schema.d.ts +107 -0
  154. package/dist/modules/task/schema.js +44 -0
  155. package/dist/modules/task/service.d.ts +19 -0
  156. package/dist/modules/task/service.js +43 -0
  157. package/dist/modules/task/types.d.ts +84 -0
  158. package/dist/modules/task/types.js +2 -0
  159. package/dist/modules/tenant/actions.d.ts +49 -0
  160. package/dist/modules/tenant/actions.js +38 -0
  161. package/dist/modules/tenant/index.d.ts +3 -0
  162. package/dist/modules/tenant/index.js +4 -0
  163. package/dist/{services → modules/tenant}/tenant.d.ts +3 -3
  164. package/dist/modules/tenant/tenant.js +125 -0
  165. package/dist/modules/tenant/types.d.ts +11 -0
  166. package/dist/modules/tenant/types.js +2 -0
  167. package/dist/modules/waitlist/action.d.ts +31 -29
  168. package/dist/modules/waitlist/action.js +1 -0
  169. package/dist/modules/waitlist/index.js +1 -0
  170. package/dist/modules/waitlist/schema.d.ts +12 -12
  171. package/dist/modules/waitlist/schema.js +1 -0
  172. package/dist/modules/waitlist/service.js +1 -0
  173. package/dist/modules/waitlist/types.js +1 -0
  174. package/dist/permission.js +1 -0
  175. package/dist/query.js +1 -0
  176. package/dist/role.js +1 -0
  177. package/dist/schemas/nodes.js +1 -0
  178. package/dist/service-client.js +1 -0
  179. package/dist/service.js +1 -0
  180. package/dist/services/applets.js +1 -0
  181. package/dist/services/avatars.js +1 -0
  182. package/dist/services/chat-flow.js +1 -0
  183. package/dist/services/community.js +1 -0
  184. package/dist/services/configuration.js +1 -0
  185. package/dist/services/databases.js +1 -0
  186. package/dist/services/functions.js +1 -0
  187. package/dist/services/graphql.js +1 -0
  188. package/dist/services/health.js +1 -0
  189. package/dist/services/locale.js +1 -0
  190. package/dist/services/messaging.js +1 -0
  191. package/dist/services/permissions.js +1 -0
  192. package/dist/services/pricing.js +1 -0
  193. package/dist/services/projects.js +1 -0
  194. package/dist/services/roles.js +1 -0
  195. package/dist/services/schema.js +1 -0
  196. package/dist/services/storage.js +1 -0
  197. package/dist/services/subscription.js +1 -0
  198. package/dist/services/teams.js +1 -0
  199. package/dist/services/tenant-subscription.js +1 -0
  200. package/dist/services/users.js +1 -0
  201. package/package.json +4 -1
  202. package/src/actions/actionClient.ts +13 -6
  203. package/src/actions/auth.ts +7 -0
  204. package/src/actions/authOptions.ts +255 -0
  205. package/src/actions/index.ts +3 -0
  206. package/src/actions/nextAuthHandler.ts +9 -0
  207. package/src/client.ts +1 -1
  208. package/src/getAppcondaClient.ts +4 -3
  209. package/src/getSDKForCurrentUser.ts +12 -5
  210. package/src/getSDKForService.ts +2 -1
  211. package/src/getSDKForTenant.ts +52 -0
  212. package/src/index.ts +4 -2
  213. package/src/lib/crypto.ts +105 -0
  214. package/src/lib/env.ts +145 -0
  215. package/src/lib/errors.ts +138 -0
  216. package/src/lib/index.ts +2 -0
  217. package/src/lib/jwt.ts +113 -0
  218. package/src/modules/account/actions.ts +1 -1
  219. package/src/modules/acl/service.ts +55 -0
  220. package/src/modules/agent/action.ts +2 -0
  221. package/src/modules/ai/node/actions.ts +0 -1
  222. package/src/modules/index.ts +4 -1
  223. package/src/modules/scheduled-job/action.ts +94 -0
  224. package/src/modules/scheduled-job/index.ts +8 -0
  225. package/src/modules/scheduled-job/lib/Schedules.ts +103 -0
  226. package/src/modules/scheduled-job/lib/handler.ts +27 -0
  227. package/src/modules/scheduled-job/lib/jobs/index.ts +2 -0
  228. package/src/modules/scheduled-job/lib/jobs/job1.ts +34 -0
  229. package/src/modules/scheduled-job/lib/jobs/log-job.ts +9 -0
  230. package/src/modules/scheduled-job/lib/wait.ts +17 -0
  231. package/src/modules/scheduled-job/schema.ts +31 -0
  232. package/src/modules/scheduled-job/service.ts +37 -0
  233. package/src/modules/scheduled-job/types.ts +35 -0
  234. package/src/modules/task/action.ts +175 -0
  235. package/src/modules/task/index.ts +4 -0
  236. package/src/modules/task/schema.ts +53 -0
  237. package/src/modules/task/service.ts +62 -0
  238. package/src/modules/task/types.ts +89 -0
  239. package/src/modules/tenant/actions.ts +46 -0
  240. package/src/modules/tenant/index.ts +3 -0
  241. package/src/{services → modules/tenant}/tenant.ts +3 -4
  242. package/src/modules/tenant/types.ts +12 -0
  243. package/tsconfig.json +4 -1
  244. package/dist/actions/nodes.d.ts +0 -4
  245. package/dist/actions/nodes.js +0 -15
  246. package/dist/enums/authentication-factor.d.ts +0 -6
  247. package/dist/enums/authentication-factor.js +0 -7
  248. package/dist/enums/authenticator-type.d.ts +0 -3
  249. package/dist/enums/authenticator-type.js +0 -4
  250. package/dist/enums/o-auth-provider.d.ts +0 -41
  251. package/dist/enums/o-auth-provider.js +0 -42
  252. package/dist/services/account.d.ts +0 -530
  253. package/dist/services/account.js +0 -1259
  254. package/dist/services/node.d.ts +0 -5
  255. package/dist/services/node.js +0 -11
  256. package/dist/services/tenant.js +0 -124
@@ -2,3 +2,7 @@ export * from './waitlist';
2
2
  export * from './account';
3
3
  export * from './ai';
4
4
  export * from './agent';
5
+ export * from './tenant';
6
+ export * from './task';
7
+ export * from './scheduled-job';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kdWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2FjY291bnQnO1xuZXhwb3J0ICogZnJvbSAnLi9haSc7XG5leHBvcnQgKiBmcm9tICcuL2FnZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVuYW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFzayc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlZC1qb2InOyJdfQ==
@@ -0,0 +1,97 @@
1
+ import { AvgExecution, Execution, ScheduledJob } from './types';
2
+ export declare const CreateScheduledJob: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
3
+ id: import("zod").ZodOptional<import("zod").ZodString>;
4
+ name: import("zod").ZodString;
5
+ cron: import("zod").ZodString;
6
+ enabled: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
7
+ }, "strip", import("zod").ZodTypeAny, {
8
+ name: string;
9
+ enabled: boolean;
10
+ cron: string;
11
+ id?: string | undefined;
12
+ }, {
13
+ name: string;
14
+ cron: string;
15
+ enabled?: boolean | undefined;
16
+ id?: string | undefined;
17
+ }>, readonly [], {
18
+ _errors?: string[];
19
+ name?: {
20
+ _errors?: string[];
21
+ };
22
+ enabled?: {
23
+ _errors?: string[];
24
+ };
25
+ cron?: {
26
+ _errors?: string[];
27
+ };
28
+ id?: {
29
+ _errors?: string[];
30
+ };
31
+ }, readonly [], ScheduledJob>;
32
+ export declare const ListScheduledJobs: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{}, "strip", import("zod").ZodTypeAny, {}, {}>, readonly [], {
33
+ _errors?: string[];
34
+ }, readonly [], ScheduledJob[]>;
35
+ export declare const GetScheduledJob: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
36
+ id: import("zod").ZodString;
37
+ }, "strip", import("zod").ZodTypeAny, {
38
+ id: string;
39
+ }, {
40
+ id: string;
41
+ }>, readonly [], {
42
+ _errors?: string[];
43
+ id?: {
44
+ _errors?: string[];
45
+ };
46
+ }, readonly [], ScheduledJob>;
47
+ export declare const ListExecutions: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
48
+ scheduledJobId: import("zod").ZodString;
49
+ status: import("zod").ZodOptional<import("zod").ZodString>;
50
+ }, "strip", import("zod").ZodTypeAny, {
51
+ scheduledJobId: string;
52
+ status?: string | undefined;
53
+ }, {
54
+ scheduledJobId: string;
55
+ status?: string | undefined;
56
+ }>, readonly [], {
57
+ _errors?: string[];
58
+ scheduledJobId?: {
59
+ _errors?: string[];
60
+ };
61
+ status?: {
62
+ _errors?: string[];
63
+ };
64
+ }, readonly [], Execution[]>;
65
+ export declare const ListAvgExecutions: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{}, "strip", import("zod").ZodTypeAny, {}, {}>, readonly [], {
66
+ _errors?: string[];
67
+ }, readonly [], AvgExecution[]>;
68
+ export declare const UpdateJob: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
69
+ id: import("zod").ZodString;
70
+ name: import("zod").ZodOptional<import("zod").ZodString>;
71
+ cron: import("zod").ZodOptional<import("zod").ZodString>;
72
+ enabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
73
+ }, "strip", import("zod").ZodTypeAny, {
74
+ id: string;
75
+ name?: string | undefined;
76
+ enabled?: boolean | undefined;
77
+ cron?: string | undefined;
78
+ }, {
79
+ id: string;
80
+ name?: string | undefined;
81
+ enabled?: boolean | undefined;
82
+ cron?: string | undefined;
83
+ }>, readonly [], {
84
+ _errors?: string[];
85
+ id?: {
86
+ _errors?: string[];
87
+ };
88
+ name?: {
89
+ _errors?: string[];
90
+ };
91
+ enabled?: {
92
+ _errors?: string[];
93
+ };
94
+ cron?: {
95
+ _errors?: string[];
96
+ };
97
+ }, readonly [], ScheduledJob>;
@@ -0,0 +1,77 @@
1
+ 'use server';
2
+ import { actionClient } from '../../actions/actionClient';
3
+ import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
4
+ import { CreateScheduledJobSchema, GetScheduledJobSchema, ListAvgExecutionsSchema, ListExecutionsSchema, ListScheduledJobsSchema, UpdateJobSchema } from './schema';
5
+ export const CreateScheduledJob = actionClient
6
+ .schema(CreateScheduledJobSchema)
7
+ .action(async ({ parsedInput }) => {
8
+ try {
9
+ const { scheduledJob } = await getSDKForCurrentUser();
10
+ return await scheduledJob.CreateScheduledJob(parsedInput);
11
+ }
12
+ catch (error) {
13
+ console.error('Error in CreateScheduledJob:', error);
14
+ throw new Error('Failed to fetch CreateScheduledJob');
15
+ }
16
+ });
17
+ export const ListScheduledJobs = actionClient
18
+ .schema(ListScheduledJobsSchema)
19
+ .action(async ({ parsedInput }) => {
20
+ try {
21
+ const { scheduledJob } = await getSDKForCurrentUser();
22
+ return await scheduledJob.ListScheduledJobs(parsedInput);
23
+ }
24
+ catch (error) {
25
+ console.error('Error in ListScheduledJobs:', error);
26
+ throw new Error('Failed to fetch ListScheduledJobs');
27
+ }
28
+ });
29
+ export const GetScheduledJob = actionClient
30
+ .schema(GetScheduledJobSchema)
31
+ .action(async ({ parsedInput }) => {
32
+ try {
33
+ const { scheduledJob } = await getSDKForCurrentUser();
34
+ return await scheduledJob.GetScheduledJob(parsedInput);
35
+ }
36
+ catch (error) {
37
+ console.error('Error in GetScheduledJob:', error);
38
+ throw new Error('Failed to fetch GetScheduledJob');
39
+ }
40
+ });
41
+ export const ListExecutions = actionClient
42
+ .schema(ListExecutionsSchema)
43
+ .action(async ({ parsedInput }) => {
44
+ try {
45
+ const { scheduledJob } = await getSDKForCurrentUser();
46
+ return await scheduledJob.ListExecutions(parsedInput);
47
+ }
48
+ catch (error) {
49
+ console.error('Error in ListExecutions:', error);
50
+ throw new Error('Failed to fetch ListExecutions');
51
+ }
52
+ });
53
+ export const ListAvgExecutions = actionClient
54
+ .schema(ListAvgExecutionsSchema)
55
+ .action(async ({ parsedInput }) => {
56
+ try {
57
+ const { scheduledJob } = await getSDKForCurrentUser();
58
+ return await scheduledJob.ListAvgExecutions(parsedInput);
59
+ }
60
+ catch (error) {
61
+ console.error('Error in ListAvgExecutions:', error);
62
+ throw new Error('Failed to fetch ListAvgExecutions');
63
+ }
64
+ });
65
+ export const UpdateJob = actionClient
66
+ .schema(UpdateJobSchema)
67
+ .action(async ({ parsedInput }) => {
68
+ try {
69
+ const { scheduledJob } = await getSDKForCurrentUser();
70
+ return await scheduledJob.UpdateJob(parsedInput);
71
+ }
72
+ catch (error) {
73
+ console.error('Error in UpdateJob:', error);
74
+ throw new Error('Failed to fetch UpdateJob');
75
+ }
76
+ });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvc2NoZWR1bGVkLWpvYi9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHcEssTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsWUFBWTtLQUN6QyxNQUFNLENBQUMsd0JBQXdCLENBQUM7S0FDaEMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUF5QixFQUFFO0lBQ3JELElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsT0FBTyxNQUFNLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU5RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFlBQVk7S0FDNUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0tBQy9CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBMkIsRUFBRTtJQUN2RCxJQUFJLENBQUM7UUFFRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3RELE9BQU8sTUFBTSxZQUFZLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFN0QsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN6RCxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWTtLQUMxQyxNQUFNLENBQUMscUJBQXFCLENBQUM7S0FDN0IsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUF5QixFQUFFO0lBQ3JELElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsT0FBTyxNQUFNLFlBQVksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFM0QsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsWUFBWTtLQUN6QyxNQUFNLENBQUMsb0JBQW9CLENBQUM7S0FDNUIsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUF3QixFQUFFO0lBQ3BELElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsT0FBTyxNQUFNLFlBQVksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFMUQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZO0tBQzVDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztLQUMvQixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQTJCLEVBQUU7SUFDdkQsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUN0RCxPQUFPLE1BQU0sWUFBWSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTdELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDekQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFlBQVk7S0FDcEMsTUFBTSxDQUFDLGVBQWUsQ0FBQztLQUN2QixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQXlCLEVBQUU7SUFDckQsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUN0RCxPQUFPLE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVyRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc2VydmVyJztcblxuXG5pbXBvcnQgeyBhY3Rpb25DbGllbnQgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2FjdGlvbkNsaWVudCc7XG5pbXBvcnQgeyBnZXRTREtGb3JDdXJyZW50VXNlciB9IGZyb20gJy4uLy4uL2dldFNES0ZvckN1cnJlbnRVc2VyJztcbmltcG9ydCB7IENyZWF0ZVNjaGVkdWxlZEpvYlNjaGVtYSwgR2V0U2NoZWR1bGVkSm9iU2NoZW1hLCBMaXN0QXZnRXhlY3V0aW9uc1NjaGVtYSwgTGlzdEV4ZWN1dGlvbnNTY2hlbWEsIExpc3RTY2hlZHVsZWRKb2JzU2NoZW1hLCBVcGRhdGVKb2JTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQgeyBBdmdFeGVjdXRpb24sIEV4ZWN1dGlvbiwgU2NoZWR1bGVkSm9iIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTY2hlZHVsZWRKb2IgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKENyZWF0ZVNjaGVkdWxlZEpvYlNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFNjaGVkdWxlZEpvYj4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHNjaGVkdWxlZEpvYiB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZWRKb2IuQ3JlYXRlU2NoZWR1bGVkSm9iKHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gQ3JlYXRlU2NoZWR1bGVkSm9iOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIENyZWF0ZVNjaGVkdWxlZEpvYicpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBvcnQgY29uc3QgTGlzdFNjaGVkdWxlZEpvYnMgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKExpc3RTY2hlZHVsZWRKb2JzU2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8U2NoZWR1bGVkSm9iW10+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLkxpc3RTY2hlZHVsZWRKb2JzKHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gTGlzdFNjaGVkdWxlZEpvYnM6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggTGlzdFNjaGVkdWxlZEpvYnMnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwb3J0IGNvbnN0IEdldFNjaGVkdWxlZEpvYiA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoR2V0U2NoZWR1bGVkSm9iU2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8U2NoZWR1bGVkSm9iPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgc2NoZWR1bGVkSm9iIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHNjaGVkdWxlZEpvYi5HZXRTY2hlZHVsZWRKb2IocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBHZXRTY2hlZHVsZWRKb2I6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggR2V0U2NoZWR1bGVkSm9iJyk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBcbiAgICBleHBvcnQgY29uc3QgTGlzdEV4ZWN1dGlvbnMgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKExpc3RFeGVjdXRpb25zU2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8RXhlY3V0aW9uW10+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLkxpc3RFeGVjdXRpb25zKHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gTGlzdEV4ZWN1dGlvbnM6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggTGlzdEV4ZWN1dGlvbnMnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIFxuICAgIGV4cG9ydCBjb25zdCBMaXN0QXZnRXhlY3V0aW9ucyA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoTGlzdEF2Z0V4ZWN1dGlvbnNTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxBdmdFeGVjdXRpb25bXT4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHNjaGVkdWxlZEpvYiB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZWRKb2IuTGlzdEF2Z0V4ZWN1dGlvbnMocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBMaXN0QXZnRXhlY3V0aW9uczonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBMaXN0QXZnRXhlY3V0aW9ucycpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBvcnQgY29uc3QgVXBkYXRlSm9iID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShVcGRhdGVKb2JTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxTY2hlZHVsZWRKb2I+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLlVwZGF0ZUpvYihwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIFVwZGF0ZUpvYjonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBVcGRhdGVKb2InKTtcbiAgICAgICAgfVxuICAgIH0pOyAgICAgICAgIFxuXG5cbiAgICAgICAgICAgICJdfQ==
@@ -0,0 +1,7 @@
1
+ export * from './action';
2
+ export * from './schema';
3
+ export * from './service';
4
+ export * from './types';
5
+ export * from './lib/Schedules';
6
+ export * from './lib/handler';
7
+ import './lib/jobs';
@@ -0,0 +1,8 @@
1
+ export * from './action';
2
+ export * from './schema';
3
+ export * from './service';
4
+ export * from './types';
5
+ export * from './lib/Schedules';
6
+ export * from './lib/handler';
7
+ import './lib/jobs';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9zY2hlZHVsZWQtam9iL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFFOUIsT0FBTyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9TY2hlZHVsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcic7XG5cbmltcG9ydCAnLi9saWIvam9icyc7Il19
@@ -0,0 +1,32 @@
1
+ type TaskPayload = {
2
+ timestamp: Date;
3
+ lastTimestamp?: Date;
4
+ timezone: string;
5
+ };
6
+ type TaskContext = {
7
+ retriesLeft: number;
8
+ };
9
+ type TaskArgs = {
10
+ id: string;
11
+ cron: string;
12
+ maxDuration?: number;
13
+ retries?: number;
14
+ run: (payload: TaskPayload, tools: {
15
+ ctx: TaskContext;
16
+ }) => Promise<void> | void;
17
+ };
18
+ export declare class Schedules {
19
+ private lastRunTimestamps;
20
+ private Tasks;
21
+ task(args: TaskArgs): void;
22
+ run(taskId: string): Promise<void>;
23
+ private runWithRetry;
24
+ toJSON(): {
25
+ id: string;
26
+ cron: string;
27
+ maxDuration: number | undefined;
28
+ retries: number | undefined;
29
+ }[];
30
+ }
31
+ export declare const schedules: Schedules;
32
+ export {};
@@ -0,0 +1,64 @@
1
+ export class Schedules {
2
+ constructor() {
3
+ this.lastRunTimestamps = {};
4
+ this.Tasks = [];
5
+ }
6
+ task(args) {
7
+ this.Tasks.push(args);
8
+ }
9
+ async run(taskId) {
10
+ const now = new Date();
11
+ const lastTimestamp = this.lastRunTimestamps[taskId];
12
+ const payload = {
13
+ timestamp: now,
14
+ lastTimestamp,
15
+ timezone: "UTC",
16
+ };
17
+ this.lastRunTimestamps[taskId] = now;
18
+ const context = {
19
+ retriesLeft: this.Tasks.find(task => task.id === taskId)?.retries ?? 0,
20
+ };
21
+ await this.runWithRetry(this.Tasks.find(task => task.id === taskId), payload, context);
22
+ }
23
+ async runWithRetry(task, payload, ctx) {
24
+ const start = Date.now();
25
+ try {
26
+ await Promise.race([
27
+ task.run(payload, { ctx }),
28
+ timeout(task.maxDuration ?? 60),
29
+ ]);
30
+ log("success", { taskId: task.id, time: new Date().toISOString() });
31
+ }
32
+ catch (err) {
33
+ //@ts-ignore
34
+ log("error", { taskId: task.id, error: err });
35
+ if (ctx.retriesLeft > 0) {
36
+ ctx.retriesLeft -= 1;
37
+ //@ts-ignore
38
+ log("warn", { taskId: task.id, msg: "Retrying..." });
39
+ await this.runWithRetry(task, payload, ctx);
40
+ }
41
+ }
42
+ finally {
43
+ const duration = Date.now() - start;
44
+ //@ts-ignore
45
+ log("info", { taskId: task.id, durationMs: duration });
46
+ }
47
+ }
48
+ toJSON() {
49
+ return this.Tasks.map(task => ({
50
+ id: task.id,
51
+ cron: task.cron,
52
+ maxDuration: task.maxDuration,
53
+ retries: task.retries,
54
+ }));
55
+ }
56
+ }
57
+ function log(arg0, arg1) {
58
+ // console.log(arg0, arg1);
59
+ }
60
+ function timeout(seconds) {
61
+ return new Promise((_, reject) => setTimeout(() => reject(new Error("Timeout reached")), seconds * 1000));
62
+ }
63
+ export const schedules = new Schedules();
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvc2NoZWR1bGVkLWpvYi9saWIvU2NoZWR1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxNQUFNLE9BQU8sU0FBUztJQUF0QjtRQUNZLHNCQUFpQixHQUF5QixFQUFFLENBQUM7UUFDN0MsVUFBSyxHQUFlLEVBQUUsQ0FBQztJQWlFbkMsQ0FBQztJQS9EVSxJQUFJLENBQUMsSUFBYztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFjO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJELE1BQU0sT0FBTyxHQUFnQjtZQUN6QixTQUFTLEVBQUUsR0FBRztZQUNkLGFBQWE7WUFDYixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUVyQyxNQUFNLE9BQU8sR0FBZ0I7WUFDekIsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQztTQUN6RSxDQUFDO1FBRUYsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFHNUYsQ0FBQztJQUVPLEtBQUssQ0FBQyxZQUFZLENBQ3RCLElBQWMsRUFDZCxPQUFvQixFQUNwQixHQUFnQjtRQUVoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQzthQUNsQyxDQUFDLENBQUM7WUFDSCxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsWUFBWTtZQUNaLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUU5QyxJQUFJLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO2dCQUNyQixZQUFZO2dCQUNaLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztnQkFDckQsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEQsQ0FBQztRQUNMLENBQUM7Z0JBQVMsQ0FBQztZQUNQLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDcEMsWUFBWTtZQUNaLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztDQUNKO0FBRUQsU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQXVDO0lBQzlELDJCQUEyQjtBQUMvQixDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsT0FBZTtJQUM1QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FDekUsQ0FBQztBQUNOLENBQUM7QUFHRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxudHlwZSBUYXNrUGF5bG9hZCA9IHtcbiAgICB0aW1lc3RhbXA6IERhdGU7XG4gICAgbGFzdFRpbWVzdGFtcD86IERhdGU7XG4gICAgdGltZXpvbmU6IHN0cmluZztcbn07XG5cbnR5cGUgVGFza0NvbnRleHQgPSB7XG4gICAgcmV0cmllc0xlZnQ6IG51bWJlcjtcbn07XG5cbnR5cGUgVGFza0FyZ3MgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjcm9uOiBzdHJpbmc7XG4gICAgbWF4RHVyYXRpb24/OiBudW1iZXI7IC8vIHNhbml5ZVxuICAgIHJldHJpZXM/OiBudW1iZXI7XG4gICAgcnVuOiAoXG4gICAgICAgIHBheWxvYWQ6IFRhc2tQYXlsb2FkLFxuICAgICAgICB0b29sczogeyBjdHg6IFRhc2tDb250ZXh0IH1cbiAgICApID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xufTtcblxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlcyB7XG4gICAgcHJpdmF0ZSBsYXN0UnVuVGltZXN0YW1wczogUmVjb3JkPHN0cmluZywgRGF0ZT4gPSB7fTtcbiAgICBwcml2YXRlIFRhc2tzOiBUYXNrQXJnc1tdID0gW107XG5cbiAgICBwdWJsaWMgdGFzayhhcmdzOiBUYXNrQXJncykge1xuICAgICAgICB0aGlzLlRhc2tzLnB1c2goYXJncyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJ1bih0YXNrSWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBsYXN0VGltZXN0YW1wID0gdGhpcy5sYXN0UnVuVGltZXN0YW1wc1t0YXNrSWRdO1xuXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IFRhc2tQYXlsb2FkID0ge1xuICAgICAgICAgICAgdGltZXN0YW1wOiBub3csXG4gICAgICAgICAgICBsYXN0VGltZXN0YW1wLFxuICAgICAgICAgICAgdGltZXpvbmU6IFwiVVRDXCIsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5sYXN0UnVuVGltZXN0YW1wc1t0YXNrSWRdID0gbm93O1xuXG4gICAgICAgIGNvbnN0IGNvbnRleHQ6IFRhc2tDb250ZXh0ID0ge1xuICAgICAgICAgICAgcmV0cmllc0xlZnQ6IHRoaXMuVGFza3MuZmluZCh0YXNrID0+IHRhc2suaWQgPT09IHRhc2tJZCk/LnJldHJpZXMgPz8gMCxcbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCB0aGlzLnJ1bldpdGhSZXRyeSh0aGlzLlRhc2tzLmZpbmQodGFzayA9PiB0YXNrLmlkID09PSB0YXNrSWQpISwgcGF5bG9hZCwgY29udGV4dCk7XG5cblxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgcnVuV2l0aFJldHJ5KFxuICAgICAgICB0YXNrOiBUYXNrQXJncyxcbiAgICAgICAgcGF5bG9hZDogVGFza1BheWxvYWQsXG4gICAgICAgIGN0eDogVGFza0NvbnRleHRcbiAgICApIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgICAgICAgICAgICAgIHRhc2sucnVuKHBheWxvYWQsIHsgY3R4IH0pLFxuICAgICAgICAgICAgICAgIHRpbWVvdXQodGFzay5tYXhEdXJhdGlvbiA/PyA2MCksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICAgIGxvZyhcInN1Y2Nlc3NcIiwgeyB0YXNrSWQ6IHRhc2suaWQsIHRpbWU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgICAgIGxvZyhcImVycm9yXCIsIHsgdGFza0lkOiB0YXNrLmlkLCBlcnJvcjogZXJyIH0pO1xuXG4gICAgICAgICAgICBpZiAoY3R4LnJldHJpZXNMZWZ0ID4gMCkge1xuICAgICAgICAgICAgICAgIGN0eC5yZXRyaWVzTGVmdCAtPSAxO1xuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGxvZyhcIndhcm5cIiwgeyB0YXNrSWQ6IHRhc2suaWQsIG1zZzogXCJSZXRyeWluZy4uLlwiIH0pO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucnVuV2l0aFJldHJ5KHRhc2ssIHBheWxvYWQsIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IERhdGUubm93KCkgLSBzdGFydDtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgbG9nKFwiaW5mb1wiLCB7IHRhc2tJZDogdGFzay5pZCwgZHVyYXRpb25NczogZHVyYXRpb24gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9KU09OKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5UYXNrcy5tYXAodGFzayA9PiAoe1xuICAgICAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgICAgICBjcm9uOiB0YXNrLmNyb24sXG4gICAgICAgICAgICBtYXhEdXJhdGlvbjogdGFzay5tYXhEdXJhdGlvbixcbiAgICAgICAgICAgIHJldHJpZXM6IHRhc2sucmV0cmllcyxcbiAgICAgICAgfSkpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gbG9nKGFyZzA6IHN0cmluZywgYXJnMTogeyB0YXNrSWQ6IHN0cmluZzsgdGltZTogc3RyaW5nOyB9KSB7XG4gICAgLy8gY29uc29sZS5sb2coYXJnMCwgYXJnMSk7XG59XG5cbmZ1bmN0aW9uIHRpbWVvdXQoc2Vjb25kczogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBFcnJvcihcIlRpbWVvdXQgcmVhY2hlZFwiKSksIHNlY29uZHMgKiAxMDAwKVxuICAgICk7XG59XG5cblxuZXhwb3J0IGNvbnN0IHNjaGVkdWxlcyA9IG5ldyBTY2hlZHVsZXMoKTsiXX0=
@@ -0,0 +1,12 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+ import './jobs';
3
+ export declare function scheduledJobHandler(request: NextRequest, res: NextResponse): Promise<NextResponse<{
4
+ message: string;
5
+ }> | NextResponse<{
6
+ schedules: {
7
+ id: string;
8
+ cron: string;
9
+ maxDuration: number | undefined;
10
+ retries: number | undefined;
11
+ }[];
12
+ }>>;
@@ -0,0 +1,23 @@
1
+ import { NextResponse } from 'next/server';
2
+ import './jobs';
3
+ import { schedules } from './Schedules';
4
+ /* export async function GET() {
5
+ return NextResponse.json({ schedules: schedules.toJSON() },
6
+ { status: 200 });
7
+ }
8
+
9
+ export async function POST(request: Request) {
10
+
11
+ } */
12
+ export async function scheduledJobHandler(request, res) {
13
+ if (request.method === 'POST') {
14
+ const body = await request.json();
15
+ const taskId = body.taskId;
16
+ schedules.run(taskId);
17
+ return NextResponse.json({ message: 'Callback triggered' }, { status: 200 });
18
+ }
19
+ else {
20
+ return NextResponse.json({ schedules: schedules.toJSON() }, { status: 200 });
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3NjaGVkdWxlZC1qb2IvbGliL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxPQUFPLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDOzs7Ozs7O0lBT0k7QUFFSixNQUFNLENBQUMsS0FBSyxVQUFVLG1CQUFtQixDQUFDLE9BQW9CLEVBQUUsR0FBaUI7SUFDL0UsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsRUFDeEQsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNyQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFDeEQsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNyQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5leHRSZXF1ZXN0LCBOZXh0UmVzcG9uc2UgfSBmcm9tICduZXh0L3NlcnZlcic7XG5cbmltcG9ydCAnLi9qb2JzJztcbmltcG9ydCB7IHNjaGVkdWxlcyB9IGZyb20gJy4vU2NoZWR1bGVzJztcblxuLyogZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIEdFVCgpIHtcbiAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKHsgc2NoZWR1bGVzOiBzY2hlZHVsZXMudG9KU09OKCkgfSxcbiAgICB7IHN0YXR1czogMjAwIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gUE9TVChyZXF1ZXN0OiBSZXF1ZXN0KSB7XG5cbn0gKi9cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNjaGVkdWxlZEpvYkhhbmRsZXIocmVxdWVzdDogTmV4dFJlcXVlc3QsIHJlczogTmV4dFJlc3BvbnNlKSB7XG4gIGlmIChyZXF1ZXN0Lm1ldGhvZCA9PT0gJ1BPU1QnKSB7XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHJlcXVlc3QuanNvbigpO1xuICAgIGNvbnN0IHRhc2tJZCA9IGJvZHkudGFza0lkO1xuICAgIHNjaGVkdWxlcy5ydW4odGFza0lkKTtcbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBtZXNzYWdlOiAnQ2FsbGJhY2sgdHJpZ2dlcmVkJyB9LFxuICAgICAgeyBzdGF0dXM6IDIwMCB9KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBzY2hlZHVsZXM6IHNjaGVkdWxlcy50b0pTT04oKSB9LFxuICAgICAgeyBzdGF0dXM6IDIwMCB9KTtcbiAgfVxufSBcblxuIl19
@@ -0,0 +1,2 @@
1
+ import './log-job';
2
+ import './job1';
@@ -0,0 +1,3 @@
1
+ import './log-job';
2
+ import './job1';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9zY2hlZHVsZWQtam9iL2xpYi9qb2JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxDQUFDO0FBQ25CLE9BQU8sUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICcuL2xvZy1qb2InO1xuaW1wb3J0ICcuL2pvYjEnOyJdfQ==
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import { schedules } from "../Schedules";
2
+ schedules.task({
3
+ id: "job1",
4
+ cron: "*/5 * * * *",
5
+ run: async () => {
6
+ console.log("hello from job 1");
7
+ },
8
+ });
9
+ schedules.task({
10
+ id: "job2",
11
+ cron: "*/5 * * * *",
12
+ run: async () => {
13
+ console.log("hello from job 2");
14
+ },
15
+ });
16
+ schedules.task({
17
+ id: "job3",
18
+ cron: "*/5 * * * *",
19
+ run: async () => {
20
+ console.log("hello from job 3");
21
+ },
22
+ });
23
+ schedules.task({
24
+ id: "job4",
25
+ cron: "*/5 * * * *",
26
+ run: async () => {
27
+ console.log("hello from job 4");
28
+ },
29
+ });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3NjaGVkdWxlZC1qb2IvbGliL2pvYnMvam9iMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTTtJQUNWLElBQUksRUFBRSxhQUFhO0lBQ25CLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0osQ0FBQyxDQUFDO0FBR0gsU0FBUyxDQUFDLElBQUksQ0FBQztJQUNYLEVBQUUsRUFBRSxNQUFNO0lBQ1YsSUFBSSxFQUFFLGFBQWE7SUFDbkIsR0FBRyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQ1gsRUFBRSxFQUFFLE1BQU07SUFDVixJQUFJLEVBQUUsYUFBYTtJQUNuQixHQUFHLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTTtJQUNWLElBQUksRUFBRSxhQUFhO0lBQ25CLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NoZWR1bGVzIH0gZnJvbSBcIi4uL1NjaGVkdWxlc1wiO1xuXG5zY2hlZHVsZXMudGFzayh7XG4gICAgaWQ6IFwiam9iMVwiLFxuICAgIGNyb246IFwiKi81ICogKiAqICpcIixcbiAgICBydW46IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJoZWxsbyBmcm9tIGpvYiAxXCIpO1xuICAgIH0sXG59KTtcblxuXG5zY2hlZHVsZXMudGFzayh7XG4gICAgaWQ6IFwiam9iMlwiLFxuICAgIGNyb246IFwiKi81ICogKiAqICpcIixcbiAgICBydW46IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJoZWxsbyBmcm9tIGpvYiAyXCIpO1xuICAgIH0sXG59KTtcblxuc2NoZWR1bGVzLnRhc2soe1xuICAgIGlkOiBcImpvYjNcIixcbiAgICBjcm9uOiBcIiovNSAqICogKiAqXCIsXG4gICAgcnVuOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaGVsbG8gZnJvbSBqb2IgM1wiKTtcbiAgICB9LFxufSk7XG5cbnNjaGVkdWxlcy50YXNrKHtcbiAgICBpZDogXCJqb2I0XCIsXG4gICAgY3JvbjogXCIqLzUgKiAqICogKlwiLFxuICAgIHJ1bjogYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcImhlbGxvIGZyb20gam9iIDRcIik7XG4gICAgfSxcbn0pOyJdfQ==
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { schedules } from "../Schedules";
2
+ schedules.task({
3
+ id: "test",
4
+ cron: "*/50 * * * * *",
5
+ run: async () => {
6
+ console.log("test");
7
+ },
8
+ });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWpvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3NjaGVkdWxlZC1qb2IvbGliL2pvYnMvbG9nLWpvYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTTtJQUNWLElBQUksRUFBRSxnQkFBZ0I7SUFDdEIsR0FBRyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NoZWR1bGVzIH0gZnJvbSBcIi4uL1NjaGVkdWxlc1wiO1xuXG5zY2hlZHVsZXMudGFzayh7XG4gICAgaWQ6IFwidGVzdFwiLFxuICAgIGNyb246IFwiKi81MCAqICogKiAqICpcIixcbiAgICBydW46IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJ0ZXN0XCIpO1xuICAgIH0sXG59KTsiXX0=
@@ -0,0 +1,8 @@
1
+ export declare const wait: {
2
+ for: ({ seconds }: {
3
+ seconds: number;
4
+ }) => Promise<unknown>;
5
+ until: ({ date }: {
6
+ date: Date;
7
+ }) => Promise<unknown>;
8
+ };
@@ -0,0 +1,13 @@
1
+ export const wait = {
2
+ for: ({ seconds }) => new Promise((resolve) => setTimeout(resolve, seconds * 1000)),
3
+ until: ({ date }) => {
4
+ const now = new Date();
5
+ const diff = date.getTime() - now.getTime();
6
+ if (diff <= 0) {
7
+ // Hedef tarih zaten geçmişse hiç bekleme
8
+ return Promise.resolve();
9
+ }
10
+ return new Promise((resolve) => setTimeout(resolve, diff));
11
+ },
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3NjaGVkdWxlZC1qb2IvbGliL3dhaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHO0lBQ2hCLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUF1QixFQUFFLEVBQUUsQ0FDeEMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBRS9ELEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFrQixFQUFFLEVBQUU7UUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTVDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2QseUNBQXlDO1lBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFFRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgd2FpdCA9IHtcbiAgICBmb3I6ICh7IHNlY29uZHMgfTogeyBzZWNvbmRzOiBudW1iZXIgfSkgPT5cbiAgICAgIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHNlY29uZHMgKiAxMDAwKSksXG4gIFxuICAgIHVudGlsOiAoeyBkYXRlIH06IHsgZGF0ZTogRGF0ZSB9KSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgY29uc3QgZGlmZiA9IGRhdGUuZ2V0VGltZSgpIC0gbm93LmdldFRpbWUoKTtcbiAgXG4gICAgICBpZiAoZGlmZiA8PSAwKSB7XG4gICAgICAgIC8vIEhlZGVmIHRhcmloIHphdGVuIGdlw6dtacWfc2UgaGnDpyBiZWtsZW1lXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIH1cbiAgXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgZGlmZikpO1xuICAgIH0sXG4gIH07XG4gICJdfQ==
@@ -0,0 +1,52 @@
1
+ import { z } from "zod";
2
+ export declare const CreateScheduledJobSchema: z.ZodObject<{
3
+ id: z.ZodOptional<z.ZodString>;
4
+ name: z.ZodString;
5
+ cron: z.ZodString;
6
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ name: string;
9
+ enabled: boolean;
10
+ cron: string;
11
+ id?: string | undefined;
12
+ }, {
13
+ name: string;
14
+ cron: string;
15
+ enabled?: boolean | undefined;
16
+ id?: string | undefined;
17
+ }>;
18
+ export declare const ListScheduledJobsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
19
+ export declare const GetScheduledJobSchema: z.ZodObject<{
20
+ id: z.ZodString;
21
+ }, "strip", z.ZodTypeAny, {
22
+ id: string;
23
+ }, {
24
+ id: string;
25
+ }>;
26
+ export declare const ListExecutionsSchema: z.ZodObject<{
27
+ scheduledJobId: z.ZodString;
28
+ status: z.ZodOptional<z.ZodString>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ scheduledJobId: string;
31
+ status?: string | undefined;
32
+ }, {
33
+ scheduledJobId: string;
34
+ status?: string | undefined;
35
+ }>;
36
+ export declare const ListAvgExecutionsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
37
+ export declare const UpdateJobSchema: z.ZodObject<{
38
+ id: z.ZodString;
39
+ name: z.ZodOptional<z.ZodString>;
40
+ cron: z.ZodOptional<z.ZodString>;
41
+ enabled: z.ZodOptional<z.ZodBoolean>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ id: string;
44
+ name?: string | undefined;
45
+ enabled?: boolean | undefined;
46
+ cron?: string | undefined;
47
+ }, {
48
+ id: string;
49
+ name?: string | undefined;
50
+ enabled?: boolean | undefined;
51
+ cron?: string | undefined;
52
+ }>;
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ export const CreateScheduledJobSchema = z.object({
3
+ id: z.string().optional(),
4
+ name: z.string(),
5
+ cron: z.string(),
6
+ enabled: z.boolean().optional().default(true),
7
+ });
8
+ export const ListScheduledJobsSchema = z.object({});
9
+ export const GetScheduledJobSchema = z.object({
10
+ id: z.string()
11
+ });
12
+ export const ListExecutionsSchema = z.object({
13
+ scheduledJobId: z.string(),
14
+ status: z.string().optional()
15
+ });
16
+ export const ListAvgExecutionsSchema = z.object({});
17
+ export const UpdateJobSchema = z.object({
18
+ id: z.string(),
19
+ name: z.string().optional(),
20
+ cron: z.string().optional(),
21
+ enabled: z.boolean().optional(),
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvc2NoZWR1bGVkLWpvYi9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztDQUNoRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBRS9DLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDMUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxjQUFjLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNoQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQy9DLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2QsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDbEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVNjaGVkdWxlZEpvYlNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgY3Jvbjogei5zdHJpbmcoKSxcbiAgICBlbmFibGVkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLmRlZmF1bHQodHJ1ZSksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RTY2hlZHVsZWRKb2JzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFNjaGVkdWxlZEpvYlNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0RXhlY3V0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzY2hlZHVsZWRKb2JJZDogei5zdHJpbmcoKSxcbiAgICBzdGF0dXM6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG4gICAgXG5leHBvcnQgY29uc3QgTGlzdEF2Z0V4ZWN1dGlvbnNTY2hlbWEgPSB6Lm9iamVjdCh7XG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUpvYlNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgY3Jvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGVuYWJsZWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KTtcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import z from "zod";
2
+ import { ServiceClient } from "../../service-client";
3
+ import { CreateScheduledJobSchema, ListScheduledJobsSchema, GetScheduledJobSchema, ListExecutionsSchema, ListAvgExecutionsSchema, UpdateJobSchema } from "./schema";
4
+ import { AvgExecution, Execution, ScheduledJob } from "./types";
5
+ export declare class ScheduledJobService extends ServiceClient {
6
+ protected getServiceName(): string;
7
+ CreateScheduledJob(payload: z.infer<typeof CreateScheduledJobSchema>): Promise<ScheduledJob>;
8
+ ListScheduledJobs(payload: z.infer<typeof ListScheduledJobsSchema>): Promise<ScheduledJob[]>;
9
+ GetScheduledJob(payload: z.infer<typeof GetScheduledJobSchema>): Promise<ScheduledJob>;
10
+ ListExecutions(payload: z.infer<typeof ListExecutionsSchema>): Promise<Execution[]>;
11
+ ListAvgExecutions(payload: z.infer<typeof ListAvgExecutionsSchema>): Promise<AvgExecution[]>;
12
+ UpdateJob(payload: z.infer<typeof UpdateJobSchema>): Promise<ScheduledJob>;
13
+ }
@@ -0,0 +1,25 @@
1
+ import { ServiceClient } from "../../service-client";
2
+ export class ScheduledJobService extends ServiceClient {
3
+ getServiceName() {
4
+ return 'com.appconda.service.scheduled-jobs';
5
+ }
6
+ async CreateScheduledJob(payload) {
7
+ return await this.actionCall('CreateScheduledJob', payload);
8
+ }
9
+ async ListScheduledJobs(payload) {
10
+ return await this.actionCall('ListScheduledJobs', payload);
11
+ }
12
+ async GetScheduledJob(payload) {
13
+ return await this.actionCall('GetScheduledJob', payload);
14
+ }
15
+ async ListExecutions(payload) {
16
+ return await this.actionCall('ListExecutions', payload);
17
+ }
18
+ async ListAvgExecutions(payload) {
19
+ return await this.actionCall('ListAvgExecutions', payload);
20
+ }
21
+ async UpdateJob(payload) {
22
+ return await this.actionCall('UpdateJob', payload);
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL3NjaGVkdWxlZC1qb2Ivc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJckQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUFDeEMsY0FBYztRQUNwQixPQUFPLHFDQUFxQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBaUQ7UUFDN0UsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFnRDtRQUMzRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUE4QztRQUN2RSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUE2QztRQUNyRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQWdEO1FBQzNFLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQXdDO1FBQzNELE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB6IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFNlcnZpY2VDbGllbnQgfSBmcm9tIFwiLi4vLi4vc2VydmljZS1jbGllbnRcIjtcbmltcG9ydCB7IENyZWF0ZVNjaGVkdWxlZEpvYlNjaGVtYSwgTGlzdFNjaGVkdWxlZEpvYnNTY2hlbWEsIEdldFNjaGVkdWxlZEpvYlNjaGVtYSwgTGlzdEV4ZWN1dGlvbnNTY2hlbWEsIExpc3RBdmdFeGVjdXRpb25zU2NoZW1hLCBVcGRhdGVKb2JTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWFcIjtcbmltcG9ydCB7IEF2Z0V4ZWN1dGlvbiwgRXhlY3V0aW9uLCBTY2hlZHVsZWRKb2IgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVkSm9iU2VydmljZSBleHRlbmRzIFNlcnZpY2VDbGllbnQge1xuICAgIHByb3RlY3RlZCBnZXRTZXJ2aWNlTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2NvbS5hcHBjb25kYS5zZXJ2aWNlLnNjaGVkdWxlZC1qb2JzJztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlU2NoZWR1bGVkSm9iKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVNjaGVkdWxlZEpvYlNjaGVtYT4pOiBQcm9taXNlPFNjaGVkdWxlZEpvYj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdDcmVhdGVTY2hlZHVsZWRKb2InLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdFNjaGVkdWxlZEpvYnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdFNjaGVkdWxlZEpvYnNTY2hlbWE+KTogUHJvbWlzZTxTY2hlZHVsZWRKb2JbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdMaXN0U2NoZWR1bGVkSm9icycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRTY2hlZHVsZWRKb2IocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0U2NoZWR1bGVkSm9iU2NoZW1hPik6IFByb21pc2U8U2NoZWR1bGVkSm9iPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ0dldFNjaGVkdWxlZEpvYicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0RXhlY3V0aW9ucyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0RXhlY3V0aW9uc1NjaGVtYT4pOiBQcm9taXNlPEV4ZWN1dGlvbltdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ0xpc3RFeGVjdXRpb25zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RBdmdFeGVjdXRpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBdmdFeGVjdXRpb25zU2NoZW1hPik6IFByb21pc2U8QXZnRXhlY3V0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnTGlzdEF2Z0V4ZWN1dGlvbnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlSm9iKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUpvYlNjaGVtYT4pOiBQcm9taXNlPFNjaGVkdWxlZEpvYj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdVcGRhdGVKb2InLCBwYXlsb2FkKTtcbiAgICB9XG5cbiBcbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ export type ScheduledJob = {
2
+ id: string;
3
+ name: string;
4
+ cron: string;
5
+ enabled: boolean;
6
+ lastRun?: Date;
7
+ nextRun?: Date;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ };
11
+ export type JobRun = {
12
+ id: string;
13
+ jobId: string;
14
+ createdAt: Date;
15
+ updatedAt: Date;
16
+ };
17
+ export type Execution = {
18
+ id: string;
19
+ scheduledJobId: string;
20
+ createdAt: Date;
21
+ updatedAt: Date;
22
+ status: string;
23
+ };
24
+ export type AvgExecution = {
25
+ scheduledJobId: string;
26
+ totalExecutions: number;
27
+ activeDays: number;
28
+ avgExecutionsPerDay: number;
29
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9zY2hlZHVsZWQtam9iL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVkSm9iID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNyb246IHN0cmluZztcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgbGFzdFJ1bj86IERhdGU7XG4gIG5leHRSdW4/OiBEYXRlO1xuICBjcmVhdGVkQXQ6IERhdGU7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcbn1cblxuZXhwb3J0IHR5cGUgSm9iUnVuID0ge1xuICBpZDogc3RyaW5nO1xuICBqb2JJZDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IERhdGU7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcbn1cblxuZXhwb3J0IHR5cGUgRXhlY3V0aW9uID0ge1xuICBpZDogc3RyaW5nO1xuICBzY2hlZHVsZWRKb2JJZDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IERhdGU7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEF2Z0V4ZWN1dGlvbiA9IHtcbiAgc2NoZWR1bGVkSm9iSWQ6IHN0cmluZztcbiAgdG90YWxFeGVjdXRpb25zOiBudW1iZXI7XG4gIGFjdGl2ZURheXM6IG51bWJlcjtcbiAgYXZnRXhlY3V0aW9uc1BlckRheTogbnVtYmVyO1xufVxuXG4iXX0=