@neetru/sdk 3.1.1 → 3.1.4
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/README.md +56 -5
- package/dist/auth.cjs +255 -18
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.d.cts +1 -1
- package/dist/auth.d.ts +1 -1
- package/dist/auth.mjs +255 -18
- package/dist/auth.mjs.map +1 -1
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.cts +1 -1
- package/dist/catalog.d.ts +1 -1
- package/dist/catalog.mjs.map +1 -1
- package/dist/checkout.cjs +22 -7
- package/dist/checkout.cjs.map +1 -1
- package/dist/checkout.d.cts +1 -1
- package/dist/checkout.d.ts +1 -1
- package/dist/checkout.mjs +22 -7
- package/dist/checkout.mjs.map +1 -1
- package/dist/db-react.d.cts +1 -1
- package/dist/db-react.d.ts +1 -1
- package/dist/db.cjs +59 -3
- package/dist/db.cjs.map +1 -1
- package/dist/db.d.cts +1 -1
- package/dist/db.d.ts +1 -1
- package/dist/db.mjs +59 -3
- package/dist/db.mjs.map +1 -1
- package/dist/entitlements.cjs.map +1 -1
- package/dist/entitlements.d.cts +1 -1
- package/dist/entitlements.d.ts +1 -1
- package/dist/entitlements.mjs.map +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.cts +11 -6
- package/dist/errors.d.ts +11 -6
- package/dist/errors.mjs.map +1 -1
- package/dist/firestore-compat.cjs +15 -2
- package/dist/firestore-compat.cjs.map +1 -1
- package/dist/firestore-compat.d.cts +1 -1
- package/dist/firestore-compat.d.ts +1 -1
- package/dist/firestore-compat.mjs +15 -2
- package/dist/firestore-compat.mjs.map +1 -1
- package/dist/index.cjs +267 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +267 -22
- package/dist/index.mjs.map +1 -1
- package/dist/mocks.cjs +25 -0
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.d.cts +18 -1
- package/dist/mocks.d.ts +18 -1
- package/dist/mocks.mjs +25 -0
- package/dist/mocks.mjs.map +1 -1
- package/dist/notifications.cjs.map +1 -1
- package/dist/notifications.d.cts +1 -1
- package/dist/notifications.d.ts +1 -1
- package/dist/notifications.mjs.map +1 -1
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.mjs.map +1 -1
- package/dist/support.cjs.map +1 -1
- package/dist/support.d.cts +1 -1
- package/dist/support.d.ts +1 -1
- package/dist/support.mjs.map +1 -1
- package/dist/telemetry.cjs +2 -1
- package/dist/telemetry.cjs.map +1 -1
- package/dist/telemetry.d.cts +1 -1
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.mjs +2 -1
- package/dist/telemetry.mjs.map +1 -1
- package/dist/{types-B3XFHD4A.d.ts → types-CRIIjqzC.d.ts} +105 -12
- package/dist/{types-DePdSU3P.d.cts → types-DvMdYbfV.d.cts} +105 -12
- package/dist/usage.cjs.map +1 -1
- package/dist/usage.d.cts +1 -1
- package/dist/usage.d.ts +1 -1
- package/dist/usage.mjs.map +1 -1
- package/dist/webhooks.cjs +11 -3
- package/dist/webhooks.cjs.map +1 -1
- package/dist/webhooks.d.cts +1 -1
- package/dist/webhooks.d.ts +1 -1
- package/dist/webhooks.mjs +11 -3
- package/dist/webhooks.mjs.map +1 -1
- package/package.json +1 -1
package/dist/db.cjs
CHANGED
|
@@ -3911,13 +3911,69 @@ function createRestSyncTransport(config) {
|
|
|
3911
3911
|
if (!config) {
|
|
3912
3912
|
return { docs: [], newWatermark: Date.now(), resyncRequired: false };
|
|
3913
3913
|
}
|
|
3914
|
-
return { docs: [], newWatermark: Date.now(), resyncRequired:
|
|
3914
|
+
return { docs: [], newWatermark: Date.now(), resyncRequired: true };
|
|
3915
3915
|
},
|
|
3916
|
-
async fullResync(
|
|
3916
|
+
async fullResync(collections) {
|
|
3917
3917
|
if (!config) {
|
|
3918
3918
|
return { docs: [], newWatermark: Date.now() };
|
|
3919
3919
|
}
|
|
3920
|
-
|
|
3920
|
+
const { httpRequest: httpRequest2 } = await Promise.resolve().then(() => (init_http(), http_exports));
|
|
3921
|
+
const tenantScopeId = config.tenantId ?? config.productId;
|
|
3922
|
+
const tenantHeaders = tenantScopeId ? { "x-neetru-tenant": tenantScopeId } : void 0;
|
|
3923
|
+
const now = Date.now();
|
|
3924
|
+
const docs = [];
|
|
3925
|
+
for (const collection of collections) {
|
|
3926
|
+
let raw;
|
|
3927
|
+
try {
|
|
3928
|
+
raw = await httpRequest2(config, {
|
|
3929
|
+
method: "GET",
|
|
3930
|
+
path: DATASTORE_COLLECTION_ENDPOINT(collection),
|
|
3931
|
+
requireAuth: true,
|
|
3932
|
+
retries: 2,
|
|
3933
|
+
headers: tenantHeaders,
|
|
3934
|
+
// Teto do Core é 200. Coleções > 200 docs truncam silenciosamente
|
|
3935
|
+
// aqui (paginação cursor é tarefa Core separada) — a detecção de
|
|
3936
|
+
// deleção-por-ausência do SyncEngine NÃO deve rodar sobre truncamento,
|
|
3937
|
+
// então mantemos o limite no máximo do servidor por ora.
|
|
3938
|
+
query: { limit: 200 }
|
|
3939
|
+
});
|
|
3940
|
+
} catch (err) {
|
|
3941
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
3942
|
+
throw new exports.NeetruDbError(
|
|
3943
|
+
"db_unavailable",
|
|
3944
|
+
`[RestSyncTransport] fullResync falhou na cole\xE7\xE3o "${collection}": ${msg}`
|
|
3945
|
+
);
|
|
3946
|
+
}
|
|
3947
|
+
const resp = raw;
|
|
3948
|
+
const items = Array.isArray(resp?.items) ? resp.items : [];
|
|
3949
|
+
for (const item of items) {
|
|
3950
|
+
if (!item || typeof item !== "object") continue;
|
|
3951
|
+
const record = item;
|
|
3952
|
+
const id = typeof record["id"] === "string" ? record["id"] : null;
|
|
3953
|
+
if (!id) continue;
|
|
3954
|
+
const { id: _inlinedId, ...data } = record;
|
|
3955
|
+
let serverTimestamp2 = now;
|
|
3956
|
+
const updatedAt = data["_updatedAt"];
|
|
3957
|
+
if (typeof updatedAt === "number") {
|
|
3958
|
+
serverTimestamp2 = updatedAt;
|
|
3959
|
+
} else if (updatedAt !== null && typeof updatedAt === "object" && typeof updatedAt["_seconds"] === "number") {
|
|
3960
|
+
serverTimestamp2 = updatedAt["_seconds"] * 1e3;
|
|
3961
|
+
} else if (typeof updatedAt === "string") {
|
|
3962
|
+
const parsed = Date.parse(updatedAt);
|
|
3963
|
+
if (!Number.isNaN(parsed)) serverTimestamp2 = parsed;
|
|
3964
|
+
}
|
|
3965
|
+
const serverVersion = `rest_${id}_${serverTimestamp2}`;
|
|
3966
|
+
docs.push({
|
|
3967
|
+
collection,
|
|
3968
|
+
id,
|
|
3969
|
+
data,
|
|
3970
|
+
serverVersion,
|
|
3971
|
+
serverTimestamp: serverTimestamp2,
|
|
3972
|
+
deleted: false
|
|
3973
|
+
});
|
|
3974
|
+
}
|
|
3975
|
+
}
|
|
3976
|
+
return { docs, newWatermark: now };
|
|
3921
3977
|
}
|
|
3922
3978
|
};
|
|
3923
3979
|
}
|