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