@qwickapps/server 1.7.1 → 1.7.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 (157) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/src/plugins/api-keys/api-keys-plugin.d.ts +5 -2
  3. package/dist/src/plugins/api-keys/api-keys-plugin.d.ts.map +1 -1
  4. package/dist/src/plugins/api-keys/api-keys-plugin.js +61 -19
  5. package/dist/src/plugins/api-keys/api-keys-plugin.js.map +1 -1
  6. package/dist/src/plugins/api-keys/index.d.ts +0 -4
  7. package/dist/src/plugins/api-keys/index.d.ts.map +1 -1
  8. package/dist/src/plugins/api-keys/index.js +2 -3
  9. package/dist/src/plugins/api-keys/index.js.map +1 -1
  10. package/dist/src/plugins/api-keys/types.d.ts +9 -3
  11. package/dist/src/plugins/api-keys/types.d.ts.map +1 -1
  12. package/dist/src/plugins/api-keys/types.js.map +1 -1
  13. package/dist/src/plugins/auth/index.d.ts +0 -4
  14. package/dist/src/plugins/auth/index.d.ts.map +1 -1
  15. package/dist/src/plugins/auth/index.js +2 -3
  16. package/dist/src/plugins/auth/index.js.map +1 -1
  17. package/dist/src/plugins/bans/bans-plugin.d.ts +5 -2
  18. package/dist/src/plugins/bans/bans-plugin.d.ts.map +1 -1
  19. package/dist/src/plugins/bans/bans-plugin.js +71 -25
  20. package/dist/src/plugins/bans/bans-plugin.js.map +1 -1
  21. package/dist/src/plugins/bans/index.d.ts +0 -4
  22. package/dist/src/plugins/bans/index.d.ts.map +1 -1
  23. package/dist/src/plugins/bans/index.js +2 -3
  24. package/dist/src/plugins/bans/index.js.map +1 -1
  25. package/dist/src/plugins/bans/types.d.ts +13 -6
  26. package/dist/src/plugins/bans/types.d.ts.map +1 -1
  27. package/dist/src/plugins/devices/devices-plugin.d.ts +5 -2
  28. package/dist/src/plugins/devices/devices-plugin.d.ts.map +1 -1
  29. package/dist/src/plugins/devices/devices-plugin.js +62 -26
  30. package/dist/src/plugins/devices/devices-plugin.js.map +1 -1
  31. package/dist/src/plugins/devices/index.d.ts +0 -4
  32. package/dist/src/plugins/devices/index.d.ts.map +1 -1
  33. package/dist/src/plugins/devices/index.js +2 -3
  34. package/dist/src/plugins/devices/index.js.map +1 -1
  35. package/dist/src/plugins/entitlements/entitlements-plugin.d.ts +5 -2
  36. package/dist/src/plugins/entitlements/entitlements-plugin.d.ts.map +1 -1
  37. package/dist/src/plugins/entitlements/entitlements-plugin.js +78 -41
  38. package/dist/src/plugins/entitlements/entitlements-plugin.js.map +1 -1
  39. package/dist/src/plugins/entitlements/index.d.ts +0 -4
  40. package/dist/src/plugins/entitlements/index.d.ts.map +1 -1
  41. package/dist/src/plugins/entitlements/index.js +2 -3
  42. package/dist/src/plugins/entitlements/index.js.map +1 -1
  43. package/dist/src/plugins/entitlements/types.d.ts +9 -2
  44. package/dist/src/plugins/entitlements/types.d.ts.map +1 -1
  45. package/dist/src/plugins/notifications/index.d.ts +0 -4
  46. package/dist/src/plugins/notifications/index.d.ts.map +1 -1
  47. package/dist/src/plugins/notifications/index.js +2 -3
  48. package/dist/src/plugins/notifications/index.js.map +1 -1
  49. package/dist/src/plugins/notifications/notifications-plugin.d.ts +5 -2
  50. package/dist/src/plugins/notifications/notifications-plugin.d.ts.map +1 -1
  51. package/dist/src/plugins/notifications/notifications-plugin.js +45 -13
  52. package/dist/src/plugins/notifications/notifications-plugin.js.map +1 -1
  53. package/dist/src/plugins/parental/index.d.ts +0 -4
  54. package/dist/src/plugins/parental/index.d.ts.map +1 -1
  55. package/dist/src/plugins/parental/index.js +2 -3
  56. package/dist/src/plugins/parental/index.js.map +1 -1
  57. package/dist/src/plugins/parental/parental-plugin.d.ts +5 -2
  58. package/dist/src/plugins/parental/parental-plugin.d.ts.map +1 -1
  59. package/dist/src/plugins/parental/parental-plugin.js +60 -24
  60. package/dist/src/plugins/parental/parental-plugin.js.map +1 -1
  61. package/dist/src/plugins/preferences/index.d.ts +0 -4
  62. package/dist/src/plugins/preferences/index.d.ts.map +1 -1
  63. package/dist/src/plugins/preferences/index.js +2 -3
  64. package/dist/src/plugins/preferences/index.js.map +1 -1
  65. package/dist/src/plugins/preferences/preferences-plugin.d.ts +5 -2
  66. package/dist/src/plugins/preferences/preferences-plugin.d.ts.map +1 -1
  67. package/dist/src/plugins/preferences/preferences-plugin.js +63 -19
  68. package/dist/src/plugins/preferences/preferences-plugin.js.map +1 -1
  69. package/dist/src/plugins/profiles/index.d.ts +0 -4
  70. package/dist/src/plugins/profiles/index.d.ts.map +1 -1
  71. package/dist/src/plugins/profiles/index.js +2 -3
  72. package/dist/src/plugins/profiles/index.js.map +1 -1
  73. package/dist/src/plugins/profiles/profiles-plugin.d.ts +5 -2
  74. package/dist/src/plugins/profiles/profiles-plugin.d.ts.map +1 -1
  75. package/dist/src/plugins/profiles/profiles-plugin.js +60 -26
  76. package/dist/src/plugins/profiles/profiles-plugin.js.map +1 -1
  77. package/dist/src/plugins/profiles/types.d.ts +9 -2
  78. package/dist/src/plugins/profiles/types.d.ts.map +1 -1
  79. package/dist/src/plugins/qwickbrain/index.d.ts +0 -4
  80. package/dist/src/plugins/qwickbrain/index.d.ts.map +1 -1
  81. package/dist/src/plugins/qwickbrain/index.js +2 -3
  82. package/dist/src/plugins/qwickbrain/index.js.map +1 -1
  83. package/dist/src/plugins/qwickbrain/qwickbrain-plugin.d.ts.map +1 -1
  84. package/dist/src/plugins/qwickbrain/qwickbrain-plugin.js +117 -0
  85. package/dist/src/plugins/qwickbrain/qwickbrain-plugin.js.map +1 -1
  86. package/dist/src/plugins/rate-limit/index.d.ts +0 -4
  87. package/dist/src/plugins/rate-limit/index.d.ts.map +1 -1
  88. package/dist/src/plugins/rate-limit/index.js +2 -3
  89. package/dist/src/plugins/rate-limit/index.js.map +1 -1
  90. package/dist/src/plugins/subscriptions/index.d.ts +0 -4
  91. package/dist/src/plugins/subscriptions/index.d.ts.map +1 -1
  92. package/dist/src/plugins/subscriptions/index.js +2 -3
  93. package/dist/src/plugins/subscriptions/index.js.map +1 -1
  94. package/dist/src/plugins/subscriptions/subscriptions-plugin.d.ts +5 -2
  95. package/dist/src/plugins/subscriptions/subscriptions-plugin.d.ts.map +1 -1
  96. package/dist/src/plugins/subscriptions/subscriptions-plugin.js +63 -29
  97. package/dist/src/plugins/subscriptions/subscriptions-plugin.js.map +1 -1
  98. package/dist/src/plugins/subscriptions/types.d.ts +8 -2
  99. package/dist/src/plugins/subscriptions/types.d.ts.map +1 -1
  100. package/dist/src/plugins/tenants/tenants-plugin.d.ts +5 -2
  101. package/dist/src/plugins/tenants/tenants-plugin.d.ts.map +1 -1
  102. package/dist/src/plugins/tenants/tenants-plugin.js +91 -58
  103. package/dist/src/plugins/tenants/tenants-plugin.js.map +1 -1
  104. package/dist/src/plugins/tenants/types.d.ts +8 -2
  105. package/dist/src/plugins/tenants/types.d.ts.map +1 -1
  106. package/dist/src/plugins/usage/index.d.ts +0 -4
  107. package/dist/src/plugins/usage/index.d.ts.map +1 -1
  108. package/dist/src/plugins/usage/index.js +2 -3
  109. package/dist/src/plugins/usage/index.js.map +1 -1
  110. package/dist/src/plugins/usage/usage-plugin.d.ts +5 -2
  111. package/dist/src/plugins/usage/usage-plugin.d.ts.map +1 -1
  112. package/dist/src/plugins/usage/usage-plugin.js +57 -23
  113. package/dist/src/plugins/usage/usage-plugin.js.map +1 -1
  114. package/dist/src/plugins/users/types.d.ts +7 -2
  115. package/dist/src/plugins/users/types.d.ts.map +1 -1
  116. package/dist/src/plugins/users/users-plugin.d.ts +5 -2
  117. package/dist/src/plugins/users/users-plugin.d.ts.map +1 -1
  118. package/dist/src/plugins/users/users-plugin.js +56 -23
  119. package/dist/src/plugins/users/users-plugin.js.map +1 -1
  120. package/dist-ui/assets/index-0gzisPdy.js +528 -0
  121. package/dist-ui/assets/{index-8y0jDGcd.js.map → index-0gzisPdy.js.map} +1 -1
  122. package/dist-ui/index.html +1 -1
  123. package/package.json +8 -5
  124. package/src/plugins/api-keys/api-keys-plugin.ts +64 -20
  125. package/src/plugins/api-keys/index.ts +2 -5
  126. package/src/plugins/api-keys/types.ts +9 -3
  127. package/src/plugins/auth/index.ts +3 -5
  128. package/src/plugins/bans/bans-plugin.ts +71 -26
  129. package/src/plugins/bans/index.ts +3 -5
  130. package/src/plugins/bans/types.ts +13 -6
  131. package/src/plugins/devices/devices-plugin.ts +62 -27
  132. package/src/plugins/devices/index.ts +3 -5
  133. package/src/plugins/entitlements/entitlements-plugin.ts +81 -43
  134. package/src/plugins/entitlements/index.ts +3 -5
  135. package/src/plugins/entitlements/types.ts +9 -2
  136. package/src/plugins/notifications/index.ts +3 -5
  137. package/src/plugins/notifications/notifications-plugin.ts +48 -19
  138. package/src/plugins/parental/index.ts +3 -5
  139. package/src/plugins/parental/parental-plugin.ts +63 -25
  140. package/src/plugins/preferences/index.ts +3 -5
  141. package/src/plugins/preferences/preferences-plugin.ts +66 -20
  142. package/src/plugins/profiles/index.ts +3 -5
  143. package/src/plugins/profiles/profiles-plugin.ts +60 -27
  144. package/src/plugins/profiles/types.ts +9 -2
  145. package/src/plugins/qwickbrain/index.ts +3 -5
  146. package/src/plugins/qwickbrain/qwickbrain-plugin.ts +135 -0
  147. package/src/plugins/rate-limit/index.ts +3 -5
  148. package/src/plugins/subscriptions/index.ts +3 -5
  149. package/src/plugins/subscriptions/subscriptions-plugin.ts +63 -30
  150. package/src/plugins/subscriptions/types.ts +8 -2
  151. package/src/plugins/tenants/tenants-plugin.ts +95 -60
  152. package/src/plugins/tenants/types.ts +8 -2
  153. package/src/plugins/usage/index.ts +3 -5
  154. package/src/plugins/usage/usage-plugin.ts +60 -26
  155. package/src/plugins/users/types.ts +7 -2
  156. package/src/plugins/users/users-plugin.ts +56 -24
  157. package/dist-ui/assets/index-8y0jDGcd.js +0 -528
@@ -11,55 +11,25 @@
11
11
  */
12
12
  import { getUserById } from '../users/users-plugin.js';
13
13
  import { getAuthenticatedUser, isAuthenticated } from '../auth/index.js';
14
+ import { hasPostgres, getPostgres } from '../postgres-plugin.js';
15
+ import { postgresTenantStore } from './stores/index.js';
14
16
  // Store instance and registry for helper access
15
17
  let currentStore = null;
16
18
  let currentRegistry = null;
17
19
  /**
18
- * Create the Tenants plugin
20
+ * Create the Tenants plugin with smart defaults
21
+ *
22
+ * Config is optional - plugin will use defaults and get dependencies from registry.
23
+ * Gracefully handles missing dependencies with clear log messages.
19
24
  */
20
- export function createTenantsPlugin(config) {
21
- const debug = config.debug || false;
22
- const apiPrefix = config.apiPrefix || ''; // Empty string to avoid double slashes in template literals
23
- const apiEnabled = config.apiEnabled !== false;
24
- function log(message, data) {
25
- if (debug) {
26
- console.log(`[TenantsPlugin] ${message}`, data || '');
27
- }
28
- }
29
- /**
30
- * Helper to check if user has access to a tenant
31
- */
32
- async function canAccessTenant(userId, tenantId) {
33
- try {
34
- const membership = await config.store.getTenantForUser(tenantId, userId);
35
- return membership !== null;
36
- }
37
- catch {
38
- return false;
25
+ export function createTenantsPlugin(config = {}) {
26
+ function log(message, data, isError = false) {
27
+ const prefix = '[TenantsPlugin]';
28
+ if (isError) {
29
+ console.error(`${prefix} ${message}`, data || '');
39
30
  }
40
- }
41
- /**
42
- * Helper to check if user has admin/owner role in a tenant
43
- */
44
- async function canManageTenant(userId, tenantId) {
45
- try {
46
- const membership = await config.store.getTenantForUser(tenantId, userId);
47
- return membership !== null && ['owner', 'admin'].includes(membership.user_role);
48
- }
49
- catch {
50
- return false;
51
- }
52
- }
53
- /**
54
- * Helper to check if user is owner of a tenant
55
- */
56
- async function isOwnerOfTenant(userId, tenantId) {
57
- try {
58
- const membership = await config.store.getTenantForUser(tenantId, userId);
59
- return membership !== null && membership.user_role === 'owner';
60
- }
61
- catch {
62
- return false;
31
+ else if (config.debug) {
32
+ console.log(`${prefix} ${message}`, data || '');
63
33
  }
64
34
  }
65
35
  return {
@@ -67,12 +37,37 @@ export function createTenantsPlugin(config) {
67
37
  name: 'Tenants',
68
38
  version: '1.0.0',
69
39
  async onStart(_pluginConfig, registry) {
40
+ const logger = registry.getLogger('tenants');
41
+ // Check for postgres in registry
42
+ if (!hasPostgres()) {
43
+ logger.warn('No Database! Tenants plugin disabled.');
44
+ registry.registerHealthCheck({
45
+ name: 'tenants-store',
46
+ type: 'custom',
47
+ check: async () => ({
48
+ healthy: false,
49
+ details: {
50
+ error: 'PostgreSQL not available',
51
+ state: 'disabled',
52
+ },
53
+ }),
54
+ });
55
+ return;
56
+ }
57
+ // Smart defaults - get dependencies from registry
58
+ const store = config.store ?? postgresTenantStore({
59
+ pool: () => getPostgres().getPool(),
60
+ autoCreateTables: true,
61
+ });
62
+ const debug = config.debug ?? false;
63
+ const apiPrefix = config.apiPrefix ?? '/tenants';
64
+ const apiEnabled = config.apiEnabled ?? true;
70
65
  log('Starting tenants plugin');
71
66
  // Initialize the store (creates tables if needed)
72
- await config.store.initialize();
67
+ await store.initialize();
73
68
  log('Tenants plugin migrations complete');
74
69
  // Store references for helper access
75
- currentStore = config.store;
70
+ currentStore = store;
76
71
  currentRegistry = registry;
77
72
  // Register health check
78
73
  registry.registerHealthCheck({
@@ -81,7 +76,7 @@ export function createTenantsPlugin(config) {
81
76
  check: async () => {
82
77
  try {
83
78
  // Simple health check - try to search with limit 1
84
- await config.store.search({ limit: 1 });
79
+ await store.search({ limit: 1 });
85
80
  return { healthy: true };
86
81
  }
87
82
  catch {
@@ -89,6 +84,42 @@ export function createTenantsPlugin(config) {
89
84
  }
90
85
  },
91
86
  });
87
+ /**
88
+ * Helper to check if user has access to a tenant
89
+ */
90
+ async function canAccessTenant(userId, tenantId) {
91
+ try {
92
+ const membership = await store.getTenantForUser(tenantId, userId);
93
+ return membership !== null;
94
+ }
95
+ catch {
96
+ return false;
97
+ }
98
+ }
99
+ /**
100
+ * Helper to check if user has admin/owner role in a tenant
101
+ */
102
+ async function canManageTenant(userId, tenantId) {
103
+ try {
104
+ const membership = await store.getTenantForUser(tenantId, userId);
105
+ return membership !== null && ['owner', 'admin'].includes(membership.user_role);
106
+ }
107
+ catch {
108
+ return false;
109
+ }
110
+ }
111
+ /**
112
+ * Helper to check if user is owner of a tenant
113
+ */
114
+ async function isOwnerOfTenant(userId, tenantId) {
115
+ try {
116
+ const membership = await store.getTenantForUser(tenantId, userId);
117
+ return membership !== null && membership.user_role === 'owner';
118
+ }
119
+ catch {
120
+ return false;
121
+ }
122
+ }
92
123
  if (!apiEnabled)
93
124
  return;
94
125
  // ========================================================================
@@ -117,7 +148,7 @@ export function createTenantsPlugin(config) {
117
148
  }
118
149
  // Users can only search their own tenants
119
150
  // Get all tenants user belongs to
120
- const userTenants = await config.store.getTenantsForUser(user.id);
151
+ const userTenants = await store.getTenantsForUser(user.id);
121
152
  res.json({
122
153
  tenants: userTenants,
123
154
  total: userTenants.length,
@@ -160,7 +191,7 @@ export function createTenantsPlugin(config) {
160
191
  message: 'You do not have access to this tenant',
161
192
  });
162
193
  }
163
- const tenant = await config.store.getById(req.params.id);
194
+ const tenant = await store.getById(req.params.id);
164
195
  if (!tenant) {
165
196
  return res.status(404).json({ error: 'Tenant not found' });
166
197
  }
@@ -219,9 +250,9 @@ export function createTenantsPlugin(config) {
219
250
  message: 'You can only create tenants for yourself',
220
251
  });
221
252
  }
222
- const tenant = await config.store.create(input);
253
+ const tenant = await store.create(input);
223
254
  // Automatically add creator as owner
224
- await config.store.addMember({
255
+ await store.addMember({
225
256
  tenant_id: tenant.id,
226
257
  user_id: user.id,
227
258
  role: 'owner',
@@ -267,7 +298,7 @@ export function createTenantsPlugin(config) {
267
298
  name: req.body.name,
268
299
  metadata: req.body.metadata,
269
300
  };
270
- const tenant = await config.store.update(req.params.id, input);
301
+ const tenant = await store.update(req.params.id, input);
271
302
  if (!tenant) {
272
303
  return res.status(404).json({ error: 'Tenant not found' });
273
304
  }
@@ -308,7 +339,7 @@ export function createTenantsPlugin(config) {
308
339
  message: 'Only owners can delete tenants',
309
340
  });
310
341
  }
311
- const deleted = await config.store.delete(req.params.id);
342
+ const deleted = await store.delete(req.params.id);
312
343
  if (!deleted) {
313
344
  return res.status(404).json({ error: 'Tenant not found' });
314
345
  }
@@ -352,7 +383,7 @@ export function createTenantsPlugin(config) {
352
383
  message: 'You can only view your own tenants',
353
384
  });
354
385
  }
355
- const tenants = await config.store.getTenantsForUser(req.params.userId);
386
+ const tenants = await store.getTenantsForUser(req.params.userId);
356
387
  res.json({ tenants, total: tenants.length });
357
388
  }
358
389
  catch (error) {
@@ -392,7 +423,7 @@ export function createTenantsPlugin(config) {
392
423
  message: 'You do not have access to this tenant',
393
424
  });
394
425
  }
395
- const members = await config.store.getMembers(req.params.tenantId);
426
+ const members = await store.getMembers(req.params.tenantId);
396
427
  res.json({ members, total: members.length });
397
428
  }
398
429
  catch (error) {
@@ -447,7 +478,7 @@ export function createTenantsPlugin(config) {
447
478
  error: `Invalid role. Must be one of: ${validRoles.join(', ')}`,
448
479
  });
449
480
  }
450
- const membership = await config.store.addMember(input);
481
+ const membership = await store.addMember(input);
451
482
  log('Member added to tenant', {
452
483
  tenantId: input.tenant_id,
453
484
  userId: input.user_id,
@@ -503,7 +534,7 @@ export function createTenantsPlugin(config) {
503
534
  error: `Invalid role. Must be one of: ${validRoles.join(', ')}`,
504
535
  });
505
536
  }
506
- const membership = await config.store.updateMember(req.params.tenantId, req.params.userId, input);
537
+ const membership = await store.updateMember(req.params.tenantId, req.params.userId, input);
507
538
  if (!membership) {
508
539
  return res.status(404).json({ error: 'Membership not found' });
509
540
  }
@@ -549,7 +580,7 @@ export function createTenantsPlugin(config) {
549
580
  message: 'Only admins and owners can remove members',
550
581
  });
551
582
  }
552
- const deleted = await config.store.removeMember(req.params.tenantId, req.params.userId);
583
+ const deleted = await store.removeMember(req.params.tenantId, req.params.userId);
553
584
  if (!deleted) {
554
585
  return res.status(404).json({ error: 'Membership not found' });
555
586
  }
@@ -570,7 +601,9 @@ export function createTenantsPlugin(config) {
570
601
  },
571
602
  async onStop() {
572
603
  log('Stopping tenants plugin');
573
- await config.store.shutdown();
604
+ if (currentStore) {
605
+ await currentStore.shutdown();
606
+ }
574
607
  currentStore = null;
575
608
  currentRegistry = null;
576
609
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tenants-plugin.js","sourceRoot":"","sources":["../../../../src/plugins/tenants/tenants-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenants-plugin.js","sourceRoot":"","sources":["../../../../src/plugins/tenants/tenants-plugin.ts"],"names":[],"mappings":"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"}
@@ -203,10 +203,16 @@ export interface PostgresTenantStoreConfig {
203
203
  }
204
204
  /**
205
205
  * Tenants plugin configuration
206
+ *
207
+ * All properties are optional - plugin will use smart defaults:
208
+ * - store: Postgres tenant store using registry's postgres instance
209
+ * - apiPrefix: '/tenants'
210
+ * - apiEnabled: true
211
+ * - debug: false
206
212
  */
207
213
  export interface TenantsPluginConfig {
208
- /** Tenant store implementation */
209
- store: TenantStore;
214
+ /** Tenant store implementation (default: postgres tenant store from registry) */
215
+ store?: TenantStore;
210
216
  /** API route prefix (default: '/tenants') */
211
217
  apiPrefix?: string;
212
218
  /** Enable API endpoints (default: true) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tenants/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tenants/types.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,4 @@
9
9
  export { createUsagePlugin, getUsageStore, getDailyUsage, incrementUsage, checkUsageLimit, getFeatureUsageStatus, getDailyUsageSummary, resetUsage, getRemainingQuota, canUseFeature, } from './usage-plugin.js';
10
10
  export type { DailyUsage, MonthlyUsage, UsageIncrementResult, UsageStatus, UsageSummary, UsageStore, UsagePluginConfig, UsageApiConfig, UsageCleanupConfig, PostgresUsageStoreConfig, } from './types.js';
11
11
  export { postgresUsageStore } from './stores/index.js';
12
- export { UsageStatusWidget } from './UsageStatusWidget.js';
13
- export type { UsageStatusWidgetProps } from './UsageStatusWidget.js';
14
- export { UsageManagementPage } from './UsageManagementPage.js';
15
- export type { UsageManagementPageProps } from './UsageManagementPage.js';
16
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/usage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/usage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -10,7 +10,6 @@
10
10
  export { createUsagePlugin, getUsageStore, getDailyUsage, incrementUsage, checkUsageLimit, getFeatureUsageStatus, getDailyUsageSummary, resetUsage, getRemainingQuota, canUseFeature, } from './usage-plugin.js';
11
11
  // Stores
12
12
  export { postgresUsageStore } from './stores/index.js';
13
- // UI Components
14
- export { UsageStatusWidget } from './UsageStatusWidget.js';
15
- export { UsageManagementPage } from './UsageManagementPage.js';
13
+ // UI Components are exported from main package index (@qwickapps/server)
14
+ // Do NOT export here to avoid loading UI dependencies when importing plugins
16
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/usage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc;AACd,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAgB3B,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/usage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc;AACd,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAgB3B,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,yEAAyE;AACzE,6EAA6E"}
@@ -9,9 +9,12 @@
9
9
  import type { Plugin } from '../../core/plugin-registry.js';
10
10
  import type { UsagePluginConfig, UsageStore, UsageIncrementResult, UsageStatus, UsageSummary } from './types.js';
11
11
  /**
12
- * Create the Usage plugin
12
+ * Create the Usage plugin with smart defaults
13
+ *
14
+ * Config is optional - plugin will use defaults and get dependencies from registry.
15
+ * Gracefully handles missing dependencies with clear log messages.
13
16
  */
14
- export declare function createUsagePlugin(config: UsagePluginConfig): Plugin;
17
+ export declare function createUsagePlugin(config?: Partial<UsagePluginConfig>): Plugin;
15
18
  /**
16
19
  * Get the current usage store instance
17
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"usage-plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/usage/usage-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAgC,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EAEV,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AA2BpB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA2KnE;AAMD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOxF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,CA0D/B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,CA4C/B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoCrG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgD/F;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGnG;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrG"}
1
+ {"version":3,"file":"usage-plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/usage/usage-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAgC,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EAEV,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AA6BpB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,MAAM,CAwMjF;AAMD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOxF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,CA0D/B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,CA4C/B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoCrG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgD/F;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGnG;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrG"}
@@ -6,6 +6,8 @@
6
6
  *
7
7
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
8
  */
9
+ import { hasPostgres, getPostgres } from '../postgres-plugin.js';
10
+ import { postgresUsageStore } from './stores/index.js';
9
11
  // Import subscription helpers if available
10
12
  let getFeatureLimitFn = null;
11
13
  // Store instance for helper access
@@ -28,14 +30,19 @@ function getTomorrowMidnight() {
28
30
  return tomorrow;
29
31
  }
30
32
  /**
31
- * Create the Usage plugin
33
+ * Create the Usage plugin with smart defaults
34
+ *
35
+ * Config is optional - plugin will use defaults and get dependencies from registry.
36
+ * Gracefully handles missing dependencies with clear log messages.
32
37
  */
33
- export function createUsagePlugin(config) {
34
- const debug = config.debug || false;
35
- const apiPrefix = config.api?.prefix || '/'; // Framework adds /usage prefix automatically
36
- function log(message, data) {
37
- if (debug) {
38
- console.log(`[UsagePlugin] ${message}`, data || '');
38
+ export function createUsagePlugin(config = {}) {
39
+ function log(message, data, isError = false) {
40
+ const prefix = '[UsagePlugin]';
41
+ if (isError) {
42
+ console.error(`${prefix} ${message}`, data || '');
43
+ }
44
+ else if (config.debug) {
45
+ console.log(`${prefix} ${message}`, data || '');
39
46
  }
40
47
  }
41
48
  return {
@@ -43,13 +50,42 @@ export function createUsagePlugin(config) {
43
50
  name: 'Usage',
44
51
  version: '1.0.0',
45
52
  async onStart(_pluginConfig, registry) {
53
+ const logger = registry.getLogger('usage');
54
+ // Check for postgres in registry
55
+ if (!hasPostgres()) {
56
+ logger.warn('No Database! Usage plugin disabled.');
57
+ registry.registerHealthCheck({
58
+ name: 'usage-store',
59
+ type: 'custom',
60
+ check: async () => ({
61
+ healthy: false,
62
+ details: {
63
+ error: 'PostgreSQL not available',
64
+ state: 'disabled',
65
+ },
66
+ }),
67
+ });
68
+ return;
69
+ }
70
+ // Smart defaults - get dependencies from registry
71
+ const store = config.store ?? postgresUsageStore({
72
+ pool: () => getPostgres().getPool(),
73
+ autoCreateTables: true,
74
+ });
75
+ const debug = config.debug ?? false;
76
+ const apiPrefix = config.api?.prefix ?? '/'; // Framework adds /usage prefix automatically
77
+ const apiEnabled = config.api?.enabled ?? true;
78
+ const dailyRetentionDays = config.cleanup?.dailyRetentionDays ?? 90;
79
+ const monthlyRetentionMonths = config.cleanup?.monthlyRetentionMonths ?? 24;
80
+ const runOnStartup = config.cleanup?.runOnStartup ?? false;
81
+ const cleanupIntervalHours = config.cleanup?.cleanupIntervalHours ?? 0;
46
82
  log('Starting usage plugin');
47
83
  // Initialize the store (creates tables if needed)
48
- await config.store.initialize();
84
+ await store.initialize();
49
85
  log('Usage plugin migrations complete');
50
86
  // Store references for helper access
51
- currentStore = config.store;
52
- currentConfig = config;
87
+ currentStore = store;
88
+ currentConfig = { ...config, store, debug };
53
89
  // Try to get the feature limit function from subscriptions plugin
54
90
  try {
55
91
  const subscriptions = await import('../subscriptions/index.js');
@@ -74,22 +110,18 @@ export function createUsagePlugin(config) {
74
110
  },
75
111
  });
76
112
  // Run cleanup on startup if configured
77
- if (config.cleanup?.runOnStartup) {
78
- const dailyDays = config.cleanup.dailyRetentionDays || 90;
79
- const monthlyMonths = config.cleanup.monthlyRetentionMonths || 24;
80
- const dailyDeleted = await config.store.cleanupOldDaily(dailyDays);
81
- const monthlyDeleted = await config.store.cleanupOldMonthly(monthlyMonths);
113
+ if (runOnStartup) {
114
+ const dailyDeleted = await store.cleanupOldDaily(dailyRetentionDays);
115
+ const monthlyDeleted = await store.cleanupOldMonthly(monthlyRetentionMonths);
82
116
  log('Startup cleanup complete', { dailyDeleted, monthlyDeleted });
83
117
  }
84
118
  // Set up periodic cleanup if configured
85
- if (config.cleanup?.cleanupIntervalHours && config.cleanup.cleanupIntervalHours > 0) {
86
- const intervalMs = config.cleanup.cleanupIntervalHours * 60 * 60 * 1000;
119
+ if (cleanupIntervalHours > 0) {
120
+ const intervalMs = cleanupIntervalHours * 60 * 60 * 1000;
87
121
  cleanupIntervalId = setInterval(async () => {
88
122
  try {
89
- const dailyDays = config.cleanup?.dailyRetentionDays || 90;
90
- const monthlyMonths = config.cleanup?.monthlyRetentionMonths || 24;
91
- const dailyDeleted = await config.store.cleanupOldDaily(dailyDays);
92
- const monthlyDeleted = await config.store.cleanupOldMonthly(monthlyMonths);
123
+ const dailyDeleted = await store.cleanupOldDaily(dailyRetentionDays);
124
+ const monthlyDeleted = await store.cleanupOldMonthly(monthlyRetentionMonths);
93
125
  log('Periodic cleanup complete', { dailyDeleted, monthlyDeleted });
94
126
  }
95
127
  catch (error) {
@@ -98,7 +130,7 @@ export function createUsagePlugin(config) {
98
130
  }, intervalMs);
99
131
  }
100
132
  // Add API routes if enabled
101
- if (config.api?.enabled !== false) {
133
+ if (apiEnabled) {
102
134
  // Get daily usage summary
103
135
  registry.addRoute({
104
136
  method: 'get',
@@ -180,7 +212,9 @@ export function createUsagePlugin(config) {
180
212
  clearInterval(cleanupIntervalId);
181
213
  cleanupIntervalId = null;
182
214
  }
183
- await config.store.shutdown();
215
+ if (currentStore) {
216
+ await currentStore.shutdown();
217
+ }
184
218
  currentStore = null;
185
219
  currentConfig = null;
186
220
  log('Usage plugin stopped');