payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
42 lines (41 loc) • 4.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "getLatestCollectionVersion", {
enumerable: true,
get: function() {
return getLatestCollectionVersion;
}
});
const _types = require("../types");
const getLatestCollectionVersion = async ({ id, config, payload, query, req })=>{
let latestVersion;
if (config.versions?.drafts) {
const { docs } = await payload.db.findVersions({
collection: config.slug,
req,
sort: '-updatedAt',
where: {
parent: {
equals: id
}
}
});
[latestVersion] = docs;
}
const doc = await payload.db.findOne({
...query,
req
});
if (!latestVersion || (0, _types.docHasTimestamps)(doc) && latestVersion.updatedAt < doc.updatedAt) {
return doc;
}
return {
...latestVersion.version,
id,
createdAt: latestVersion.createdAt,
updatedAt: latestVersion.updatedAt
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJzaW9ucy9nZXRMYXRlc3RDb2xsZWN0aW9uVmVyc2lvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpbmRPbmVBcmdzIH0gZnJvbSAnLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi9wYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBkb2NIYXNUaW1lc3RhbXBzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgcGF5bG9hZDogUGF5bG9hZFxuICBxdWVyeTogRmluZE9uZUFyZ3NcbiAgcmVxPzogUGF5bG9hZFJlcXVlc3Rcbn1cblxuZXhwb3J0IGNvbnN0IGdldExhdGVzdENvbGxlY3Rpb25WZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55Pih7XG4gIGlkLFxuICBjb25maWcsXG4gIHBheWxvYWQsXG4gIHF1ZXJ5LFxuICByZXEsXG59OiBBcmdzKTogUHJvbWlzZTxUPiA9PiB7XG4gIGxldCBsYXRlc3RWZXJzaW9uOiBUeXBlV2l0aFZlcnNpb248VD5cblxuICBpZiAoY29uZmlnLnZlcnNpb25zPy5kcmFmdHMpIHtcbiAgICBjb25zdCB7IGRvY3MgfSA9IGF3YWl0IHBheWxvYWQuZGIuZmluZFZlcnNpb25zPFQ+KHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbmZpZy5zbHVnLFxuICAgICAgcmVxLFxuICAgICAgc29ydDogJy11cGRhdGVkQXQnLFxuICAgICAgd2hlcmU6IHsgcGFyZW50OiB7IGVxdWFsczogaWQgfSB9LFxuICAgIH0pXG4gICAgO1tsYXRlc3RWZXJzaW9uXSA9IGRvY3NcbiAgfVxuXG4gIGNvbnN0IGRvYyA9IGF3YWl0IHBheWxvYWQuZGIuZmluZE9uZTxUPih7IC4uLnF1ZXJ5LCByZXEgfSlcblxuICBpZiAoIWxhdGVzdFZlcnNpb24gfHwgKGRvY0hhc1RpbWVzdGFtcHMoZG9jKSAmJiBsYXRlc3RWZXJzaW9uLnVwZGF0ZWRBdCA8IGRvYy51cGRhdGVkQXQpKSB7XG4gICAgcmV0dXJuIGRvY1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5sYXRlc3RWZXJzaW9uLnZlcnNpb24sXG4gICAgaWQsXG4gICAgY3JlYXRlZEF0OiBsYXRlc3RWZXJzaW9uLmNyZWF0ZWRBdCxcbiAgICB1cGRhdGVkQXQ6IGxhdGVzdFZlcnNpb24udXBkYXRlZEF0LFxuICB9XG59XG4iXSwibmFtZXMiOlsiZ2V0TGF0ZXN0Q29sbGVjdGlvblZlcnNpb24iLCJpZCIsImNvbmZpZyIsInBheWxvYWQiLCJxdWVyeSIsInJlcSIsImxhdGVzdFZlcnNpb24iLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsImRvY3MiLCJkYiIsImZpbmRWZXJzaW9ucyIsImNvbGxlY3Rpb24iLCJzbHVnIiwic29ydCIsIndoZXJlIiwicGFyZW50IiwiZXF1YWxzIiwiZG9jIiwiZmluZE9uZSIsImRvY0hhc1RpbWVzdGFtcHMiLCJ1cGRhdGVkQXQiLCJ2ZXJzaW9uIiwiY3JlYXRlZEF0Il0sIm1hcHBpbmdzIjoiOzs7OytCQWdCYUE7OztlQUFBQTs7O3VCQVZvQjtBQVUxQixNQUFNQSw2QkFBNkIsT0FBbUMsRUFDM0VDLEVBQUUsRUFDRkMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLEtBQUssRUFDTEMsR0FBRyxFQUNFO0lBQ0wsSUFBSUM7SUFFSixJQUFJSixPQUFPSyxRQUFRLEVBQUVDLFFBQVE7UUFDM0IsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBRyxNQUFNTixRQUFRTyxFQUFFLENBQUNDLFlBQVksQ0FBSTtZQUNoREMsWUFBWVYsT0FBT1csSUFBSTtZQUN2QlI7WUFDQVMsTUFBTTtZQUNOQyxPQUFPO2dCQUFFQyxRQUFRO29CQUFFQyxRQUFRaEI7Z0JBQUc7WUFBRTtRQUNsQztRQUNDLENBQUNLLGNBQWMsR0FBR0c7SUFDckI7SUFFQSxNQUFNUyxNQUFNLE1BQU1mLFFBQVFPLEVBQUUsQ0FBQ1MsT0FBTyxDQUFJO1FBQUUsR0FBR2YsS0FBSztRQUFFQztJQUFJO0lBRXhELElBQUksQ0FBQ0MsaUJBQWtCYyxJQUFBQSx1QkFBZ0IsRUFBQ0YsUUFBUVosY0FBY2UsU0FBUyxHQUFHSCxJQUFJRyxTQUFTLEVBQUc7UUFDeEYsT0FBT0g7SUFDVDtJQUVBLE9BQU87UUFDTCxHQUFHWixjQUFjZ0IsT0FBTztRQUN4QnJCO1FBQ0FzQixXQUFXakIsY0FBY2lCLFNBQVM7UUFDbENGLFdBQVdmLGNBQWNlLFNBQVM7SUFDcEM7QUFDRiJ9