@managemint-solutions/sdk 0.22.2 → 0.22.3

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.
@@ -26,6 +26,8 @@ const INVOICES_TABLE = {
26
26
  };
27
27
  /** The wire shape of an invoice list row — never the internal bigint id. */
28
28
  const INVOICE_SUMMARY_SELECT = 'mms_id, invoice_number, transaction_type, status, issued_at, paid_at, amount_minor, currency';
29
+ /** InvoiceEntity, column for column: the summary plus the frozen document data. */
30
+ const INVOICE_ENTITY_SELECT = `${INVOICE_SUMMARY_SELECT}, billing_transaction_id, paystack_reference, period_start, period_end, line_items, billed_to`;
29
31
  /**
30
32
  * The readable half. `invoices` is SELECT-only for `authenticated` with an org-predicate
31
33
  * policy — the same posture as the ledger it mirrors — so reads run on the caller's own
@@ -43,9 +45,11 @@ class InvoicesReadsResource {
43
45
  const page = query.page;
44
46
  const pageSize = query.page_size;
45
47
  const offset = (page - 1) * pageSize;
48
+ // Exact, unlike the other lists: an organization has tens of invoices, not tens of
49
+ // thousands, and the planner's estimate on a young table is wrong until its first ANALYZE.
46
50
  let invoicesQuery = this.supabase
47
51
  .from('invoices')
48
- .select(INVOICE_SUMMARY_SELECT, { count: 'estimated' })
52
+ .select(INVOICE_SUMMARY_SELECT, { count: 'exact' })
49
53
  .eq('organization_id', this.actor.organization_id)
50
54
  .order('created_at', { ascending: false })
51
55
  .range(offset, offset + pageSize - 1);
@@ -61,13 +65,13 @@ class InvoicesReadsResource {
61
65
  async byId(invoiceId) {
62
66
  const { data, error } = await this.supabase
63
67
  .from('invoices')
64
- .select('*')
68
+ .select(INVOICE_ENTITY_SELECT)
65
69
  .eq('mms_id', invoiceId)
66
70
  .eq('organization_id', this.actor.organization_id)
67
71
  .maybeSingle();
68
72
  if (error)
69
73
  throw (0, errors_1.mapPostgrestError)(error);
70
- return data ? (0, audit_1.withoutInternalId)(data) : null;
74
+ return data ?? null;
71
75
  }
72
76
  }
73
77
  exports.InvoicesReadsResource = InvoicesReadsResource;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/billing/invoices/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/billing/invoices/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@managemint-solutions/sdk",
3
- "version": "0.22.2",
3
+ "version": "0.22.3",
4
4
  "description": "Typed Supabase data-access SDK for ManageMint Solutions",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Scott Bebington <scottbebington@gmail.com>",
@@ -47,7 +47,7 @@
47
47
  "testEnvironment": "node"
48
48
  },
49
49
  "dependencies": {
50
- "@managemint-solutions/entities": "^1.7.0"
50
+ "@managemint-solutions/entities": "^1.7.1"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "@nestjs/common": "^11.0.0",