ofsync-bridge-offinance 0.1.0-alpha.0 → 0.1.0-alpha.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.
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export interface SyncScope {
3
3
  branchId?: string;
4
4
  deviceId?: string;
5
5
  ledgerProfileId?: string;
6
+ sourceDomainId?: string;
6
7
  }
7
8
  export interface SyncChange {
8
9
  id: string;
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- const g="offinance";function l(e){return{domain:g,collectLocalChanges:e.collectSyncChanges,applyRemoteChanges:e.applySyncChanges}}function S(e,r){e.registerDomainBridge(l(r))}function p(e){const r=e.payload??{},t=String(r.table??""),o=r.record&&typeof r.record=="object"?r.record:{},i=String(r.action??e.type??"UPDATE");return{table:t,action:i,id:e.recordId,recordId:e.recordId,timestamp:e.occurredAt,record:o}}function m(e){return e.map(p)}async function I(e,r,t){let o=0;const i=t.branchId.trim(),c=t.tenantId?.trim()??"",a=t.ledgerProfileId?.trim()??"",s=[{field:"branchId",value:i},...c?[{field:"tenantId",value:c}]:[],...a?[{field:"ledgerProfileId",value:a}]:[]];for(const n of r){if(!n.table||!n.recordId)continue;if(String(n.action||"").toUpperCase()==="DELETE"){try{await e.delete(n.table,n.recordId)}catch{}o+=1;continue}const d={...n.record,id:n.recordId,branchId:String(n.record.branchId??i),...c?{tenantId:String(n.record.tenantId??c)}:{},...a?{ledgerProfileId:String(n.record.ledgerProfileId??a)}:{}};(await e.query(n.table,{filters:{and:[{field:"id",value:n.recordId},...s]},limit:1})).length>0?await e.update(n.table,n.recordId,d):await e.create(n.table,d),o+=1}return o}export{g as BRIDGE_DOMAIN,I as applyLegacyPullRowsToScopedDb,l as createSyncBridge,p as mapSyncChangeToLegacyPullRow,m as mapSyncChangesToLegacyPullRows,S as registerSyncBridge};
1
+ const l="offinance";function p(e){return{domain:l,collectLocalChanges:e.collectSyncChanges,applyRemoteChanges:e.applySyncChanges}}function f(e,r){e.registerDomainBridge(p(r))}function y(e){const r=e.payload??{},t=String(r.table??""),o=r.record&&typeof r.record=="object"?r.record:{},i=String(r.action??e.type??"UPDATE");return{table:t,action:i,id:e.recordId,recordId:e.recordId,timestamp:e.occurredAt,record:o}}function I(e){return e.map(y)}function u(e){return e.startsWith("offinance_")?`ofinance_${e.slice(10)}`:e}async function P(e,r,t){let o=0;const i=t.branchId.trim(),c=t.tenantId?.trim()??"",a=t.ledgerProfileId?.trim()??"",g=[{field:"branchId",value:i},...c?[{field:"tenantId",value:c}]:[],...a?[{field:"ledgerProfileId",value:a}]:[]];for(const n of r){if(!n.table||!n.recordId)continue;const d=u(n.table);if(String(n.action||"").toUpperCase()==="DELETE"){try{await e.delete(d,n.recordId)}catch{}o+=1;continue}const s={...n.record,id:n.recordId,branchId:String(n.record.branchId??i),...c?{tenantId:String(n.record.tenantId??c)}:{},...a?{ledgerProfileId:String(n.record.ledgerProfileId??a)}:{}};(await e.query(d,{filters:{and:[{field:"id",value:n.recordId},...g]},limit:1})).length>0?await e.update(d,n.recordId,s):await e.create(d,s),o+=1}return o}export{l as BRIDGE_DOMAIN,P as applyLegacyPullRowsToScopedDb,p as createSyncBridge,y as mapSyncChangeToLegacyPullRow,I as mapSyncChangesToLegacyPullRows,f as registerSyncBridge};
package/dist/index.js CHANGED
@@ -36,6 +36,9 @@ function mapSyncChangeToLegacyPullRow(change) {
36
36
  function mapSyncChangesToLegacyPullRows(changes) {
37
37
  return changes.map(mapSyncChangeToLegacyPullRow);
38
38
  }
39
+ function normalizeLocalFinanceTableName(table) {
40
+ return table.startsWith('offinance_') ? `ofinance_${table.slice('offinance_'.length)}` : table;
41
+ }
39
42
  /**
40
43
  * Applies a batch of legacy pull rows to a scoped local database adapter.
41
44
  *
@@ -59,10 +62,11 @@ async function applyLegacyPullRowsToScopedDb(db, rows, scope) {
59
62
  for (const row of rows) {
60
63
  if (!row.table || !row.recordId)
61
64
  continue;
65
+ const localTable = normalizeLocalFinanceTableName(row.table);
62
66
  const action = String(row.action || '').toUpperCase();
63
67
  if (action === 'DELETE') {
64
68
  try {
65
- await db.delete(row.table, row.recordId);
69
+ await db.delete(localTable, row.recordId);
66
70
  }
67
71
  catch {
68
72
  // idempotent delete — ignore not-found errors
@@ -79,15 +83,15 @@ async function applyLegacyPullRowsToScopedDb(db, rows, scope) {
79
83
  ? { ledgerProfileId: String(row.record.ledgerProfileId ?? ledgerProfileId) }
80
84
  : {}),
81
85
  };
82
- const existing = await db.query(row.table, {
86
+ const existing = await db.query(localTable, {
83
87
  filters: { and: [{ field: 'id', value: row.recordId }, ...scopeFilters] },
84
88
  limit: 1,
85
89
  });
86
90
  if (existing.length > 0) {
87
- await db.update(row.table, row.recordId, payload);
91
+ await db.update(localTable, row.recordId, payload);
88
92
  }
89
93
  else {
90
- await db.create(row.table, payload);
94
+ await db.create(localTable, payload);
91
95
  }
92
96
  appliedCount += 1;
93
97
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ofsync-bridge-offinance",
3
- "version": "0.1.0-alpha.0",
3
+ "version": "0.1.0-alpha.2",
4
4
  "private": false,
5
5
  "description": "Sync bridge adapter for wiring offinance domain changes into ofsync-shared-core runtime.",
6
6
  "author": {
@@ -45,7 +45,7 @@
45
45
  "access": "public"
46
46
  },
47
47
  "peerDependencies": {
48
- "ofsync-shared-core": "0.2.0-alpha.1"
48
+ "ofsync-shared-core": "0.2.0-alpha.2"
49
49
  },
50
50
  "peerDependenciesMeta": {
51
51
  "ofsync-shared-core": {