scrivito
Version:
Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.
30 lines (24 loc) • 823 B
text/typescript
import {
BasicObj,
excludeGlobal,
restrictToContent,
restrictToSite,
} from 'scrivito_sdk/models';
import { objSpaceScopeExcludingDeleted } from 'scrivito_sdk/models/obj_space_scope_excluding_deleted';
export function versionsOnAllSites(obj: BasicObj): BasicObj[] {
const contentId = obj.contentId();
if (!contentId) return [];
return versionScope(obj).search().dangerouslyUnboundedTake();
}
export function versionOnSite(obj: BasicObj, siteId: string): BasicObj | null {
const contentId = obj.contentId();
if (!contentId) return null;
return (
versionScope(obj).and(restrictToSite(siteId)).search().take(1)[0] || null
);
}
function versionScope(obj: BasicObj) {
return objSpaceScopeExcludingDeleted(obj.objSpaceId())
.and(restrictToContent(obj.contentId()))
.and(excludeGlobal);
}