@objectstack/metadata 7.0.0 → 7.1.0
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.cjs +15 -125
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -23
- package/dist/index.d.ts +13 -23
- package/dist/index.js +14 -123
- package/dist/index.js.map +1 -1
- package/dist/node.cjs +15 -125
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.cts +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +14 -123
- package/dist/node.js.map +1 -1
- package/package.json +7 -7
package/dist/node.cjs
CHANGED
|
@@ -203,8 +203,7 @@ __export(node_exports, {
|
|
|
203
203
|
YAMLSerializer: () => YAMLSerializer,
|
|
204
204
|
calculateChecksum: () => calculateChecksum,
|
|
205
205
|
generateDiffSummary: () => generateDiffSummary,
|
|
206
|
-
generateSimpleDiff: () => generateSimpleDiff
|
|
207
|
-
registerMetadataHistoryRoutes: () => registerMetadataHistoryRoutes
|
|
206
|
+
generateSimpleDiff: () => generateSimpleDiff
|
|
208
207
|
});
|
|
209
208
|
module.exports = __toCommonJS(node_exports);
|
|
210
209
|
|
|
@@ -2132,7 +2131,18 @@ var _MetadataManager = class _MetadataManager {
|
|
|
2132
2131
|
// ==========================================
|
|
2133
2132
|
/**
|
|
2134
2133
|
* Validate a metadata item against its type schema.
|
|
2135
|
-
*
|
|
2134
|
+
*
|
|
2135
|
+
* NOTE: This is a lightweight structural check (presence of `name`,
|
|
2136
|
+
* basic shape). The authoritative spec validation lives in
|
|
2137
|
+
* `protocol.saveMetaItem` (write path) and is surfaced on read
|
|
2138
|
+
* paths via the `_diagnostics` envelope attached by
|
|
2139
|
+
* `protocol.getMetaItems` / `getMetaItem`. Both delegate to
|
|
2140
|
+
* `getMetadataTypeSchema()` — the single source of truth. We
|
|
2141
|
+
* deliberately do NOT run the full Zod schema here because
|
|
2142
|
+
* `MetadataManager`'s registry stores *publish envelopes*
|
|
2143
|
+
* (`{name, packageId, state, metadata: {...spec}}`), not raw spec
|
|
2144
|
+
* documents — running spec validation against the envelope would
|
|
2145
|
+
* yield false negatives.
|
|
2136
2146
|
*/
|
|
2137
2147
|
async validate(_type, data) {
|
|
2138
2148
|
if (data === null || data === void 0) {
|
|
@@ -3169,6 +3179,7 @@ var ARTIFACT_FIELD_TO_TYPE = {
|
|
|
3169
3179
|
mappings: "mapping",
|
|
3170
3180
|
analyticsCubes: "analytics_cube",
|
|
3171
3181
|
connectors: "connector",
|
|
3182
|
+
emailTemplates: "email_template",
|
|
3172
3183
|
data: "dataset"
|
|
3173
3184
|
};
|
|
3174
3185
|
var MetadataPlugin = class {
|
|
@@ -3642,126 +3653,6 @@ var RemoteLoader = class {
|
|
|
3642
3653
|
// src/index.ts
|
|
3643
3654
|
var import_metadata3 = require("@objectstack/platform-objects/metadata");
|
|
3644
3655
|
|
|
3645
|
-
// src/routes/history-routes.ts
|
|
3646
|
-
function registerMetadataHistoryRoutes(app, metadataService) {
|
|
3647
|
-
app.get("/api/v1/metadata/:type/:name/history", async (c) => {
|
|
3648
|
-
if (!metadataService.getHistory) {
|
|
3649
|
-
return c.json({ error: "History tracking not enabled" }, 501);
|
|
3650
|
-
}
|
|
3651
|
-
const { type, name } = c.req.param();
|
|
3652
|
-
const query = c.req.query();
|
|
3653
|
-
try {
|
|
3654
|
-
const options = {};
|
|
3655
|
-
if (query.limit !== void 0) {
|
|
3656
|
-
const limit = parseInt(query.limit, 10);
|
|
3657
|
-
if (!Number.isFinite(limit) || limit < 1) {
|
|
3658
|
-
return c.json({ success: false, error: "limit must be a positive integer" }, 400);
|
|
3659
|
-
}
|
|
3660
|
-
options.limit = limit;
|
|
3661
|
-
}
|
|
3662
|
-
if (query.offset !== void 0) {
|
|
3663
|
-
const offset = parseInt(query.offset, 10);
|
|
3664
|
-
if (!Number.isFinite(offset) || offset < 0) {
|
|
3665
|
-
return c.json({ success: false, error: "offset must be a non-negative integer" }, 400);
|
|
3666
|
-
}
|
|
3667
|
-
options.offset = offset;
|
|
3668
|
-
}
|
|
3669
|
-
if (query.since) options.since = query.since;
|
|
3670
|
-
if (query.until) options.until = query.until;
|
|
3671
|
-
if (query.operationType) options.operationType = query.operationType;
|
|
3672
|
-
if (query.includeMetadata !== void 0) {
|
|
3673
|
-
options.includeMetadata = query.includeMetadata === "true";
|
|
3674
|
-
}
|
|
3675
|
-
const result = await metadataService.getHistory(type, name, options);
|
|
3676
|
-
return c.json({
|
|
3677
|
-
success: true,
|
|
3678
|
-
data: result
|
|
3679
|
-
});
|
|
3680
|
-
} catch (error) {
|
|
3681
|
-
return c.json(
|
|
3682
|
-
{
|
|
3683
|
-
success: false,
|
|
3684
|
-
error: error instanceof Error ? error.message : "Failed to retrieve history"
|
|
3685
|
-
},
|
|
3686
|
-
500
|
|
3687
|
-
);
|
|
3688
|
-
}
|
|
3689
|
-
});
|
|
3690
|
-
app.post("/api/v1/metadata/:type/:name/rollback", async (c) => {
|
|
3691
|
-
if (!metadataService.rollback) {
|
|
3692
|
-
return c.json({ error: "Rollback not supported" }, 501);
|
|
3693
|
-
}
|
|
3694
|
-
const { type, name } = c.req.param();
|
|
3695
|
-
try {
|
|
3696
|
-
const body = await c.req.json();
|
|
3697
|
-
const { version, changeNote, recordedBy } = body;
|
|
3698
|
-
if (typeof version !== "number") {
|
|
3699
|
-
return c.json(
|
|
3700
|
-
{
|
|
3701
|
-
success: false,
|
|
3702
|
-
error: "Version number is required"
|
|
3703
|
-
},
|
|
3704
|
-
400
|
|
3705
|
-
);
|
|
3706
|
-
}
|
|
3707
|
-
const restoredMetadata = await metadataService.rollback(type, name, version, {
|
|
3708
|
-
changeNote,
|
|
3709
|
-
recordedBy
|
|
3710
|
-
});
|
|
3711
|
-
return c.json({
|
|
3712
|
-
success: true,
|
|
3713
|
-
data: {
|
|
3714
|
-
type,
|
|
3715
|
-
name,
|
|
3716
|
-
version,
|
|
3717
|
-
metadata: restoredMetadata
|
|
3718
|
-
}
|
|
3719
|
-
});
|
|
3720
|
-
} catch (error) {
|
|
3721
|
-
return c.json(
|
|
3722
|
-
{
|
|
3723
|
-
success: false,
|
|
3724
|
-
error: error instanceof Error ? error.message : "Rollback failed"
|
|
3725
|
-
},
|
|
3726
|
-
500
|
|
3727
|
-
);
|
|
3728
|
-
}
|
|
3729
|
-
});
|
|
3730
|
-
app.get("/api/v1/metadata/:type/:name/diff", async (c) => {
|
|
3731
|
-
if (!metadataService.diff) {
|
|
3732
|
-
return c.json({ error: "Diff not supported" }, 501);
|
|
3733
|
-
}
|
|
3734
|
-
const { type, name } = c.req.param();
|
|
3735
|
-
const query = c.req.query();
|
|
3736
|
-
try {
|
|
3737
|
-
const version1 = parseInt(query.version1, 10);
|
|
3738
|
-
const version2 = parseInt(query.version2, 10);
|
|
3739
|
-
if (isNaN(version1) || isNaN(version2)) {
|
|
3740
|
-
return c.json(
|
|
3741
|
-
{
|
|
3742
|
-
success: false,
|
|
3743
|
-
error: "Both version1 and version2 query parameters are required"
|
|
3744
|
-
},
|
|
3745
|
-
400
|
|
3746
|
-
);
|
|
3747
|
-
}
|
|
3748
|
-
const diffResult = await metadataService.diff(type, name, version1, version2);
|
|
3749
|
-
return c.json({
|
|
3750
|
-
success: true,
|
|
3751
|
-
data: diffResult
|
|
3752
|
-
});
|
|
3753
|
-
} catch (error) {
|
|
3754
|
-
return c.json(
|
|
3755
|
-
{
|
|
3756
|
-
success: false,
|
|
3757
|
-
error: error instanceof Error ? error.message : "Diff failed"
|
|
3758
|
-
},
|
|
3759
|
-
500
|
|
3760
|
-
);
|
|
3761
|
-
}
|
|
3762
|
-
});
|
|
3763
|
-
}
|
|
3764
|
-
|
|
3765
3656
|
// src/utils/history-cleanup.ts
|
|
3766
3657
|
var import_kernel2 = require("@objectstack/spec/kernel");
|
|
3767
3658
|
function executionPinnedTypes() {
|
|
@@ -4055,7 +3946,6 @@ var MigrationExecutor = class {
|
|
|
4055
3946
|
YAMLSerializer,
|
|
4056
3947
|
calculateChecksum,
|
|
4057
3948
|
generateDiffSummary,
|
|
4058
|
-
generateSimpleDiff
|
|
4059
|
-
registerMetadataHistoryRoutes
|
|
3949
|
+
generateSimpleDiff
|
|
4060
3950
|
});
|
|
4061
3951
|
//# sourceMappingURL=node.cjs.map
|