Files
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

2.3 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
6a1d9f98e819ed70a0e994d9 Challenge 327: Database Migration 28 challenge-327

--description--

Given two database objects, return the second object with any missing properties from the first filled in.

  • Fields that already exist in the record should not be overwritten.

--hints--

migrateRecord({ username: "", posts: 0 }, { verified: true }) should return { username: "", posts: 0, verified: true }.

assert.deepEqual(migrateRecord({ username: "", posts: 0 }, { verified: true }), { username: "", posts: 0, verified: true });

migrateRecord({ username: "", posts: 0 }, { username: "camper", posts: 5 }) should return { username: "camper", posts: 5 }.

assert.deepEqual(migrateRecord({ username: "", posts: 0 }, { username: "camper", posts: 5 }), { username: "camper", posts: 5 });

migrateRecord({ username: "", posts: 0, verified: false }, { username: "camper" }) should return { username: "camper", posts: 0, verified: false }.

assert.deepEqual(migrateRecord({ username: "", posts: 0, verified: false }, { username: "camper" }), { username: "camper", posts: 0, verified: false });

migrateRecord({ username: "", posts: 0 }, { username: "camper", role: "admin" }) should return { username: "camper", role: "admin", posts: 0 }.

assert.deepEqual(migrateRecord({ username: "", posts: 0 }, { username: "camper", role: "admin" }), { username: "camper", role: "admin", posts: 0 });

migrateRecord({ username: "", email: "", posts: 0, verified: false, role: "user", banned: false }, { username: "camper", email: "camper@freecodecamp.org", role: "admin" }) should return { username: "camper", email: "camper@freecodecamp.org", role: "admin", posts: 0, verified: false, banned: false }.

assert.deepEqual(migrateRecord({ username: "", email: "", posts: 0, verified: false, role: "user", banned: false }, { username: "camper", email: "camper@freecodecamp.org", role: "admin" }), { username: "camper", email: "camper@freecodecamp.org", role: "admin", posts: 0, verified: false, banned: false });

--seed--

--seed-contents--

function migrateRecord(schema, record) {

  return schema;
}

--solutions--

function migrateRecord(schema, record) {
  return { ...schema, ...record };
}