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 };
}