Bootstrap copied BFF and local accounts with public Sendico contracts (#34)

This commit is contained in:
Stephan D committed 2026-09-12 13:37:48 +02:00
1 parent 67dc5b5b1e
commit 7062672a87
556 files changed
+42291 -777

No files matched your search

+88
View File
@@ -0,0 +1,88 @@
// Adapted from Sendico's canonical Product policy seed; see PROVENANCE.md.
// Run only against the SXCHNGE-owned database. This seeds descriptions only:
// no users, organization, role grants or provider resources are created.
const databaseName = process.env.SXCHNGE_MONGO_DATABASE || 'sxchnge';
const targetDb = db.getSiblingDB(databaseName);
const now = new Date();
const canonicalPolicies = [
{
_id: ObjectId('677a61569cf14638b34423e0'),
name: 'Organization Settings',
description: 'Access to organization settings',
resourceTypes: ['organizations'],
},
{
_id: ObjectId('67bb6ec0da91191ffeb47012'),
name: 'Accounts',
description: 'Access to accounts settings',
resourceTypes: ['accounts'],
},
{
_id: ObjectId('67b3d7bd452192e77a26b22d'),
name: 'Roles',
description: 'Access to roles management',
resourceTypes: ['roles', 'policies'],
},
];
upsertCanonicalPolicies();
function builtInFilter(extra) {
return Object.assign(
{
$or: [
{ organizationRef: { $exists: false } },
{ organizationRef: null },
],
},
extra,
);
}
function upsertCanonicalPolicies() {
const result = [];
for (const entry of canonicalPolicies) {
let existing = targetDb.policies.findOne({ _id: entry._id });
if (!existing) {
// Migration-created policies carry environment-specific ids.
existing = targetDb.policies.findOne(
builtInFilter({ resourceTypes: { $all: entry.resourceTypes } }),
);
}
if (existing) {
const patch = {};
if (existing.name !== entry.name) patch.name = entry.name;
if (existing.description !== entry.description) {
patch.description = entry.description;
}
if (
JSON.stringify(existing.resourceTypes || []) !==
JSON.stringify(entry.resourceTypes)
) {
patch.resourceTypes = entry.resourceTypes;
}
if (Object.keys(patch).length > 0) {
patch.updatedAt = now;
targetDb.policies.updateOne({ _id: existing._id }, { $set: patch });
print(`Patched built-in policy "${entry.name}" (${existing._id.toHexString()})`);
} else {
print(`Built-in policy "${entry.name}" is up to date`);
}
result.push({ entry, id: existing._id, inserted: false });
continue;
}
targetDb.policies.insertOne({
_id: entry._id,
createdAt: now,
updatedAt: now,
name: entry.name,
description: entry.description,
resourceTypes: entry.resourceTypes,
});
print(`Seeded built-in policy "${entry.name}" (${entry._id.toHexString()})`);
result.push({ entry, id: entry._id, inserted: true });
}
return result;
}