@tinyrack/tinyauth-server 0.0.14 → 0.0.15

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 (91) hide show
  1. package/dist/entities/background-job.entity.d.ts +111 -0
  2. package/dist/entities/background-job.entity.d.ts.map +1 -0
  3. package/dist/entities/background-job.entity.js +41 -0
  4. package/dist/entities/background-job.entity.js.map +1 -0
  5. package/dist/entities/scheduler-job.entity.d.ts +134 -0
  6. package/dist/entities/scheduler-job.entity.d.ts.map +1 -0
  7. package/dist/entities/scheduler-job.entity.js +48 -0
  8. package/dist/entities/scheduler-job.entity.js.map +1 -0
  9. package/dist/entrypoints/app.d.ts +1 -1
  10. package/dist/entrypoints/database/postgres/compiled-functions.d.ts +280 -170
  11. package/dist/entrypoints/database/postgres/compiled-functions.d.ts.map +1 -1
  12. package/dist/entrypoints/database/postgres/compiled-functions.js +3442 -2124
  13. package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -1
  14. package/dist/entrypoints/database/postgres/postgres.d.ts +7 -2
  15. package/dist/entrypoints/database/postgres/postgres.d.ts.map +1 -1
  16. package/dist/entrypoints/database/postgres/postgres.js +2 -2
  17. package/dist/entrypoints/database/postgres/postgres.js.map +1 -1
  18. package/dist/entrypoints/database/sqlite/compiled-functions.d.ts +280 -170
  19. package/dist/entrypoints/database/sqlite/compiled-functions.d.ts.map +1 -1
  20. package/dist/entrypoints/database/sqlite/compiled-functions.js +3442 -2124
  21. package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -1
  22. package/dist/entrypoints/database/sqlite/sqlite.d.ts +6 -2
  23. package/dist/entrypoints/database/sqlite/sqlite.d.ts.map +1 -1
  24. package/dist/entrypoints/database/sqlite/sqlite.js +1 -1
  25. package/dist/entrypoints/database/sqlite/sqlite.js.map +1 -1
  26. package/dist/entrypoints/scheduler/cron.d.ts +3 -0
  27. package/dist/entrypoints/scheduler/cron.d.ts.map +1 -0
  28. package/dist/entrypoints/scheduler/cron.js +34 -0
  29. package/dist/entrypoints/scheduler/cron.js.map +1 -0
  30. package/dist/entrypoints/scheduler/croner.d.ts +1 -1
  31. package/dist/entrypoints/scheduler/croner.d.ts.map +1 -1
  32. package/dist/entrypoints/scheduler/croner.js +27 -7
  33. package/dist/entrypoints/scheduler/croner.js.map +1 -1
  34. package/dist/entrypoints/scheduler/database.d.ts +38 -0
  35. package/dist/entrypoints/scheduler/database.d.ts.map +1 -0
  36. package/dist/entrypoints/scheduler/database.js +444 -0
  37. package/dist/entrypoints/scheduler/database.js.map +1 -0
  38. package/dist/entrypoints/scheduler/distributed-runner.d.ts +134 -0
  39. package/dist/entrypoints/scheduler/distributed-runner.d.ts.map +1 -0
  40. package/dist/entrypoints/scheduler/distributed-runner.js +327 -0
  41. package/dist/entrypoints/scheduler/distributed-runner.js.map +1 -0
  42. package/dist/lib/config/index.d.ts +2 -2
  43. package/dist/lib/config/index.d.ts.map +1 -1
  44. package/dist/lib/config/index.js +1 -1
  45. package/dist/lib/config/index.js.map +1 -1
  46. package/dist/lib/config/resolved.d.ts +1 -1
  47. package/dist/lib/config/resolved.d.ts.map +1 -1
  48. package/dist/lib/config/resolved.js +1 -1
  49. package/dist/lib/config/resolved.js.map +1 -1
  50. package/dist/lib/config/scheduler.d.ts +41 -2
  51. package/dist/lib/config/scheduler.d.ts.map +1 -1
  52. package/dist/lib/config/scheduler.js +9 -3
  53. package/dist/lib/config/scheduler.js.map +1 -1
  54. package/dist/lib/database/entities.d.ts.map +1 -1
  55. package/dist/lib/database/entities.js +4 -0
  56. package/dist/lib/database/entities.js.map +1 -1
  57. package/dist/migrations/postgres/Migration20260512120000_add_scheduler_jobs.d.ts +5 -0
  58. package/dist/migrations/postgres/Migration20260512120000_add_scheduler_jobs.d.ts.map +1 -0
  59. package/dist/migrations/postgres/Migration20260512120000_add_scheduler_jobs.js +15 -0
  60. package/dist/migrations/postgres/Migration20260512120000_add_scheduler_jobs.js.map +1 -0
  61. package/dist/migrations/postgres/index.d.ts.map +1 -1
  62. package/dist/migrations/postgres/index.js +5 -1
  63. package/dist/migrations/postgres/index.js.map +1 -1
  64. package/dist/migrations/sqlite/Migration20260512120000_add_scheduler_jobs.d.ts +5 -0
  65. package/dist/migrations/sqlite/Migration20260512120000_add_scheduler_jobs.d.ts.map +1 -0
  66. package/dist/migrations/sqlite/Migration20260512120000_add_scheduler_jobs.js +13 -0
  67. package/dist/migrations/sqlite/Migration20260512120000_add_scheduler_jobs.js.map +1 -0
  68. package/dist/migrations/sqlite/index.d.ts.map +1 -1
  69. package/dist/migrations/sqlite/index.js +5 -1
  70. package/dist/migrations/sqlite/index.js.map +1 -1
  71. package/dist/repositories/background-job.repository.d.ts +5 -0
  72. package/dist/repositories/background-job.repository.d.ts.map +1 -0
  73. package/dist/repositories/background-job.repository.js +4 -0
  74. package/dist/repositories/background-job.repository.js.map +1 -0
  75. package/dist/repositories/scheduler-job.repository.d.ts +5 -0
  76. package/dist/repositories/scheduler-job.repository.d.ts.map +1 -0
  77. package/dist/repositories/scheduler-job.repository.js +4 -0
  78. package/dist/repositories/scheduler-job.repository.js.map +1 -0
  79. package/dist/services/container.d.ts +2 -2
  80. package/dist/services/container.d.ts.map +1 -1
  81. package/dist/services/container.js +7 -1
  82. package/dist/services/container.js.map +1 -1
  83. package/dist/services/mikro.service.d.ts +4 -0
  84. package/dist/services/mikro.service.d.ts.map +1 -1
  85. package/dist/services/mikro.service.js +6 -0
  86. package/dist/services/mikro.service.js.map +1 -1
  87. package/dist/services/scheduler.service.d.ts +6 -1
  88. package/dist/services/scheduler.service.d.ts.map +1 -1
  89. package/dist/services/scheduler.service.js +44 -11
  90. package/dist/services/scheduler.service.js.map +1 -1
  91. package/package.json +5 -1
@@ -0,0 +1,111 @@
1
+ import { type InferEntity } from '@mikro-orm/core';
2
+ import { BackgroundJobRepository } from '../repositories/background-job.repository.ts';
3
+ export type BackgroundJobStatus = 'pending' | 'running' | 'succeeded' | 'failed';
4
+ export declare const BackgroundJobEntitySchema: import("@mikro-orm/core").EntitySchemaWithMeta<"BackgroundJobEntity", "background_jobs", import("@mikro-orm/core").InferEntityFromProperties<{
5
+ readonly id: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "primary"> & {
6
+ primary: true;
7
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
8
+ readonly jobId: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
9
+ readonly payload: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
10
+ readonly status: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
11
+ default: "pending";
12
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
13
+ readonly availableAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
14
+ readonly lockedBy: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
15
+ nullable: true;
16
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
17
+ readonly lockedUntil: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
18
+ nullable: true;
19
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
20
+ readonly attemptCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
21
+ default: 0;
22
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
23
+ readonly maxAttempts: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
24
+ default: 3;
25
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
26
+ readonly lastError: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
27
+ nullable: true;
28
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
29
+ readonly completedAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
30
+ nullable: true;
31
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
32
+ }, undefined, import("@mikro-orm/core").InferEntityFromProperties<{
33
+ readonly created_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
34
+ onCreate: (...args: any[]) => any;
35
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
36
+ readonly updated_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
37
+ onCreate: (...args: any[]) => any;
38
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
39
+ }, undefined, never, never, false>, typeof BackgroundJobRepository, false>, import("@mikro-orm/core").InferEntityFromProperties<{
40
+ readonly created_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
41
+ onCreate: (...args: any[]) => any;
42
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
43
+ readonly updated_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
44
+ onCreate: (...args: any[]) => any;
45
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
46
+ }, undefined, never, never, false>, {
47
+ readonly id: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "primary"> & {
48
+ primary: true;
49
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
50
+ readonly jobId: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
51
+ readonly payload: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
52
+ readonly status: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
53
+ default: "pending";
54
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
55
+ readonly availableAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
56
+ readonly lockedBy: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
57
+ nullable: true;
58
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
59
+ readonly lockedUntil: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
60
+ nullable: true;
61
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
62
+ readonly attemptCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
63
+ default: 0;
64
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
65
+ readonly maxAttempts: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
66
+ default: 3;
67
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
68
+ readonly lastError: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
69
+ nullable: true;
70
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
71
+ readonly completedAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
72
+ nullable: true;
73
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
74
+ }, import("@mikro-orm/core").EntityCtor<import("@mikro-orm/core").InferEntityFromProperties<{
75
+ readonly id: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "primary"> & {
76
+ primary: true;
77
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
78
+ readonly jobId: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
79
+ readonly payload: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
80
+ readonly status: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
81
+ default: "pending";
82
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
83
+ readonly availableAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
84
+ readonly lockedBy: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
85
+ nullable: true;
86
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
87
+ readonly lockedUntil: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
88
+ nullable: true;
89
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
90
+ readonly attemptCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
91
+ default: 0;
92
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
93
+ readonly maxAttempts: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
94
+ default: 3;
95
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
96
+ readonly lastError: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
97
+ nullable: true;
98
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
99
+ readonly completedAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
100
+ nullable: true;
101
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
102
+ }, undefined, import("@mikro-orm/core").InferEntityFromProperties<{
103
+ readonly created_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
104
+ onCreate: (...args: any[]) => any;
105
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
106
+ readonly updated_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
107
+ onCreate: (...args: any[]) => any;
108
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
109
+ }, undefined, never, never, false>, typeof BackgroundJobRepository, false>>>;
110
+ export type IBackgroundJobEntity = InferEntity<typeof BackgroundJobEntitySchema>;
111
+ //# sourceMappingURL=background-job.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-job.entity.d.ts","sourceRoot":"","sources":["../../src/entities/background-job.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAGvF,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAEb,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAyC++e,GAAG;;;mBAAH,GAAG;;;;mBAAH,GAAG;;;mBAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAH,GAAG;;;mBAAH,GAAG;;4EALthf,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAC5C,OAAO,yBAAyB,CACjC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { defineEntity } from '@mikro-orm/core';
2
+ import { BackgroundJobRepository } from "../repositories/background-job.repository.js";
3
+ import { BaseSchema } from "./base.entity.js";
4
+ export const BackgroundJobEntitySchema = defineEntity({
5
+ name: 'BackgroundJobEntity',
6
+ tableName: 'background_jobs',
7
+ comment: 'Durable background job queue',
8
+ extends: BaseSchema,
9
+ repository: () => BackgroundJobRepository,
10
+ properties: (p) => ({
11
+ id: p.string().primary().comment('Stable background job execution id'),
12
+ jobId: p.string().comment('Registered background job identifier'),
13
+ payload: p.text().comment('Serialized JSON job payload'),
14
+ status: p.string().comment('Background job status').default('pending'),
15
+ availableAt: p.datetime().comment('Earliest time this job can run'),
16
+ lockedBy: p
17
+ .string()
18
+ .comment('Scheduler instance holding the lease')
19
+ .nullable(),
20
+ lockedUntil: p.datetime().comment('Lease expiration timestamp').nullable(),
21
+ attemptCount: p.integer().comment('Total run attempts').default(0),
22
+ maxAttempts: p.integer().comment('Maximum run attempts').default(3),
23
+ lastError: p.text().comment('Last failure message').nullable(),
24
+ completedAt: p.datetime().comment('Completion timestamp').nullable(),
25
+ }),
26
+ indexes: [
27
+ {
28
+ name: 'background_jobs_status_available_at_idx',
29
+ properties: ['status', 'availableAt'],
30
+ },
31
+ {
32
+ name: 'background_jobs_locked_until_idx',
33
+ properties: ['lockedUntil'],
34
+ },
35
+ {
36
+ name: 'background_jobs_job_id_idx',
37
+ properties: ['jobId'],
38
+ },
39
+ ],
40
+ });
41
+ //# sourceMappingURL=background-job.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-job.entity.js","sourceRoot":"","sources":["../../src/entities/background-job.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;IACpD,IAAI,EAAE,qBAAqB;IAC3B,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,GAAG,EAAE,CAAC,uBAAuB;IACzC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC;QACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC;QACjE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;QACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACtE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC;QACnE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,sCAAsC,CAAC;aAC/C,QAAQ,EAAE;QACb,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE;QAC1E,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACnE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;QAC9D,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;KACrE,CAAC;IACF,OAAO,EAAE;QACP;YACE,IAAI,EAAE,yCAAyC;YAC/C,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;SACtC;QACD;YACE,IAAI,EAAE,kCAAkC;YACxC,UAAU,EAAE,CAAC,aAAa,CAAC;SAC5B;QACD;YACE,IAAI,EAAE,4BAA4B;YAClC,UAAU,EAAE,CAAC,OAAO,CAAC;SACtB;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,134 @@
1
+ import { type InferEntity } from '@mikro-orm/core';
2
+ import { SchedulerJobRepository } from '../repositories/scheduler-job.repository.ts';
3
+ export declare const SchedulerJobEntitySchema: import("@mikro-orm/core").EntitySchemaWithMeta<"SchedulerJobEntity", "scheduled_jobs", import("@mikro-orm/core").InferEntityFromProperties<{
4
+ readonly id: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "primary"> & {
5
+ primary: true;
6
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
7
+ readonly name: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
8
+ readonly enabled: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<NonNullable<boolean | null | undefined>, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
9
+ default: true;
10
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
11
+ readonly cron: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
12
+ readonly nextRunAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
13
+ nullable: true;
14
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
15
+ readonly lastRunAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
16
+ nullable: true;
17
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
18
+ readonly lastSuccessAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
19
+ nullable: true;
20
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
21
+ readonly lastErrorAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
22
+ nullable: true;
23
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
24
+ readonly lastError: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
25
+ nullable: true;
26
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
27
+ readonly lockedBy: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
28
+ nullable: true;
29
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
30
+ readonly lockedUntil: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
31
+ nullable: true;
32
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
33
+ readonly runCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
34
+ default: 0;
35
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
36
+ readonly failureCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
37
+ default: 0;
38
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
39
+ }, undefined, import("@mikro-orm/core").InferEntityFromProperties<{
40
+ readonly created_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
41
+ onCreate: (...args: any[]) => any;
42
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
43
+ readonly updated_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
44
+ onCreate: (...args: any[]) => any;
45
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
46
+ }, undefined, never, never, false>, typeof SchedulerJobRepository, false>, import("@mikro-orm/core").InferEntityFromProperties<{
47
+ readonly created_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
48
+ onCreate: (...args: any[]) => any;
49
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
50
+ readonly updated_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
51
+ onCreate: (...args: any[]) => any;
52
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
53
+ }, undefined, never, never, false>, {
54
+ readonly id: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "primary"> & {
55
+ primary: true;
56
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
57
+ readonly name: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
58
+ readonly enabled: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<NonNullable<boolean | null | undefined>, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
59
+ default: true;
60
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
61
+ readonly cron: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
62
+ readonly nextRunAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
63
+ nullable: true;
64
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
65
+ readonly lastRunAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
66
+ nullable: true;
67
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
68
+ readonly lastSuccessAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
69
+ nullable: true;
70
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
71
+ readonly lastErrorAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
72
+ nullable: true;
73
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
74
+ readonly lastError: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
75
+ nullable: true;
76
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
77
+ readonly lockedBy: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
78
+ nullable: true;
79
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
80
+ readonly lockedUntil: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
81
+ nullable: true;
82
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
83
+ readonly runCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
84
+ default: 0;
85
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
86
+ readonly failureCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
87
+ default: 0;
88
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
89
+ }, import("@mikro-orm/core").EntityCtor<import("@mikro-orm/core").InferEntityFromProperties<{
90
+ readonly id: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "primary"> & {
91
+ primary: true;
92
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
93
+ readonly name: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
94
+ readonly enabled: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<NonNullable<boolean | null | undefined>, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
95
+ default: true;
96
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
97
+ readonly cron: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, import("@mikro-orm/core").EmptyOptions, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
98
+ readonly nextRunAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
99
+ nullable: true;
100
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
101
+ readonly lastRunAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
102
+ nullable: true;
103
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
104
+ readonly lastSuccessAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
105
+ nullable: true;
106
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
107
+ readonly lastErrorAt: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
108
+ nullable: true;
109
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
110
+ readonly lastError: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
111
+ nullable: true;
112
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
113
+ readonly lockedBy: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<string, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
114
+ nullable: true;
115
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
116
+ readonly lockedUntil: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, Omit<import("@mikro-orm/core").EmptyOptions, "nullable"> & {
117
+ nullable: true;
118
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
119
+ readonly runCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
120
+ default: 0;
121
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
122
+ readonly failureCount: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<number, Omit<import("@mikro-orm/core").EmptyOptions, "default"> & {
123
+ default: 0;
124
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
125
+ }, undefined, import("@mikro-orm/core").InferEntityFromProperties<{
126
+ readonly created_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
127
+ onCreate: (...args: any[]) => any;
128
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
129
+ readonly updated_at: Pick<import("@mikro-orm/core").UniversalPropertyOptionsBuilder<Date, import("@mikro-orm/core").EmptyOptions & {
130
+ onCreate: (...args: any[]) => any;
131
+ }, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>, keyof import("@mikro-orm/core").PropertyOptions<any> | ("~options" | "~type" | "$type" | "strictNullable")>;
132
+ }, undefined, never, never, false>, typeof SchedulerJobRepository, false>>>;
133
+ export type ISchedulerJobEntity = InferEntity<typeof SchedulerJobEntitySchema>;
134
+ //# sourceMappingURL=scheduler-job.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler-job.entity.d.ts","sourceRoot":"","sources":["../../src/entities/scheduler-job.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAGrF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA8C+5e,GAAG;;;mBAAH,GAAG;;;;mBAAH,GAAG;;;mBAAH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAH,GAAG;;;mBAAH,GAAG;;2EAHr8e,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { defineEntity } from '@mikro-orm/core';
2
+ import { SchedulerJobRepository } from "../repositories/scheduler-job.repository.js";
3
+ import { BaseSchema } from "./base.entity.js";
4
+ export const SchedulerJobEntitySchema = defineEntity({
5
+ name: 'SchedulerJobEntity',
6
+ tableName: 'scheduled_jobs',
7
+ comment: 'Persistent scheduler jobs and leases',
8
+ extends: BaseSchema,
9
+ repository: () => SchedulerJobRepository,
10
+ properties: (p) => ({
11
+ id: p.string().primary().comment('Stable scheduler job identifier'),
12
+ name: p.string().comment('Human-readable scheduler job name'),
13
+ enabled: p
14
+ .boolean()
15
+ .comment('Whether the scheduler job is enabled')
16
+ .default(true),
17
+ cron: p.string().comment('Cron expression for the job schedule'),
18
+ nextRunAt: p.datetime().comment('Next scheduled run timestamp').nullable(),
19
+ lastRunAt: p.datetime().comment('Last run start timestamp').nullable(),
20
+ lastSuccessAt: p
21
+ .datetime()
22
+ .comment('Last successful completion timestamp')
23
+ .nullable(),
24
+ lastErrorAt: p
25
+ .datetime()
26
+ .comment('Last failed completion timestamp')
27
+ .nullable(),
28
+ lastError: p.text().comment('Last failure message').nullable(),
29
+ lockedBy: p
30
+ .string()
31
+ .comment('Scheduler instance holding the lease')
32
+ .nullable(),
33
+ lockedUntil: p.datetime().comment('Lease expiration timestamp').nullable(),
34
+ runCount: p.integer().comment('Total run attempts').default(0),
35
+ failureCount: p.integer().comment('Total failed run attempts').default(0),
36
+ }),
37
+ indexes: [
38
+ {
39
+ name: 'scheduled_jobs_enabled_next_run_at_idx',
40
+ properties: ['enabled', 'nextRunAt'],
41
+ },
42
+ {
43
+ name: 'scheduled_jobs_locked_until_idx',
44
+ properties: ['lockedUntil'],
45
+ },
46
+ ],
47
+ });
48
+ //# sourceMappingURL=scheduler-job.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler-job.entity.js","sourceRoot":"","sources":["../../src/entities/scheduler-job.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,GAAG,EAAE,CAAC,sBAAsB;IACxC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;QACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC;QAC7D,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,OAAO,CAAC,sCAAsC,CAAC;aAC/C,OAAO,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC;QAChE,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,QAAQ,EAAE;QAC1E,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;QACtE,aAAa,EAAE,CAAC;aACb,QAAQ,EAAE;aACV,OAAO,CAAC,sCAAsC,CAAC;aAC/C,QAAQ,EAAE;QACb,WAAW,EAAE,CAAC;aACX,QAAQ,EAAE;aACV,OAAO,CAAC,kCAAkC,CAAC;aAC3C,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;QAC9D,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,sCAAsC,CAAC;aAC/C,QAAQ,EAAE;QACb,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE;QAC1E,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1E,CAAC;IACF,OAAO,EAAE;QACP;YACE,IAAI,EAAE,wCAAwC;YAC9C,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;SACrC;QACD;YACE,IAAI,EAAE,iCAAiC;YACvC,UAAU,EAAE,CAAC,aAAa,CAAC;SAC5B;KACF;CACF,CAAC,CAAC"}
@@ -1273,7 +1273,7 @@ export declare function createApp(options: CreateAppOptions, runtimeOptions?: Cr
1273
1273
  email_url?: string | undefined;
1274
1274
  response_mode?: string | undefined;
1275
1275
  }[];
1276
- scheduler?: import("../lib/config/scheduler.ts").SchedulerConfig | undefined;
1276
+ scheduler?: import("../lib/config/scheduler.ts").SchedulerRuntimeConfig | undefined;
1277
1277
  frontend?: import("../lib/config/frontend.ts").FrontendConfig | undefined;
1278
1278
  email?: import("../lib/config/email.ts").EmailConfig | undefined;
1279
1279
  };