@@ -2,210 +2,251 @@
*
* @param {Parse} Parse
*/
// Helper to create or update a schema
async function ensureSchema ( Parse , className , setupFn ) {
const schema = new Parse . Schema ( className ) ;
setupFn ( schema ) ;
try {
// If class exists, update it
await schema . update ( ) ;
console . log ( ` ✅ Updated schema for ${ className } ` ) ;
} catch ( e ) {
// Otherwise, create it
await schema . save ( ) ;
console . log ( ` ✅ Created schema for ${ className } ` ) ;
}
}
// Helper to revert CLP (safe if class doesn’ t exist)
async function patchSchema ( Parse , className , setupFn ) {
const schema = new Parse . Schema ( className ) ;
setupFn ( schema ) ;
try {
await schema . update ( ) ;
console . log ( ` 🔄 Reverted schema for ${ className } ` ) ;
} catch ( e ) {
console . warn ( ` ⚠️ Skipping ${ className } in down (not found) ` ) ;
}
}
exports . up = async Parse => {
const schema = new Parse . Schema ( 'contracts_Signature' ) ;
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { } ,
await ensureSchema ( Parse , 'contracts_Signature' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { } ,
} ) ;
} ) ;
await schema . update ( ) ;
const docSchema = new Parse . Schema ( 'contracts_Document' ) ;
docSchema . setCLP ( {
get : { '*' : true } ,
find : { requiresAuthentication : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { requiresAuthentication : true } ,
await ensureSchema ( Parse , 'contracts_Document' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { requiresAuthentication : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { requiresAuthentication : true } ,
} ) ;
} ) ;
await docSchema . update ( ) ;
const templateSchema = new Parse . Schema ( 'contracts_Template' ) ;
templateSchema . setCLP ( {
get : { '*' : true } ,
find : { } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { requiresAuthentication : true } ,
await ensureSchema ( Parse , 'contracts_Template' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { requiresAuthentication : true } ,
} ) ;
} ) ;
await templateSchema . update ( ) ;
const dataFiles = new Parse . Schema ( 'partners_DataFiles' ) ;
dataFiles . setCLP ( {
get : { } ,
find : { } ,
count : { } ,
create : { '*' : true } ,
update : { } ,
delete : { } ,
addField : { '*' : true } ,
await ensureSchema ( Parse , 'partners_DataFiles' , schema => {
schema . setCLP ( {
get : { } ,
find : { } ,
count : { } ,
create : { '*' : true } ,
update : { } ,
delete : { } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await dataFiles . update ( ) ;
const pTenant = new Parse . Schema ( 'partners_Tenant' ) ;
pTenant . setCLP ( {
get : { } ,
find : { } ,
count : { } ,
create : { } ,
update : { } ,
delete : { } ,
addField : { } ,
await ensureSchema ( Parse , 'partners_Tenant' , schema => {
schema . setCLP ( {
get : { } ,
find : { } ,
count : { } ,
create : { } ,
update : { } ,
delete : { } ,
addField : { } ,
} ) ;
} ) ;
await pTenant . update ( ) ;
const TenantCredits = new Parse . Schema ( 'partners_TenantCredits' ) ;
TenantCredits . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { '*' : true } ,
await ensureSchema ( Parse , 'partners_TenantCredits' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await TenantCredits . update ( ) ;
const _user = new Parse . Schema ( '_User' ) ;
_user . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { } ,
await ensureSchema ( Parse , '_User' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { } ,
} ) ;
} ) ;
await _user . update ( ) ;
const Migrationdb = new Parse . Schema ( 'Migrationdb' ) ;
Migrationdb . setCLP ( {
get : { } ,
find : { } ,
count : { } ,
create : { } ,
update : { } ,
delete : { } ,
addField : { } ,
await ensureSchema ( Parse , 'Migrationdb' , schema => {
schema . setCLP ( {
get : { } ,
find : { } ,
count : { } ,
create : { } ,
update : { } ,
delete : { } ,
addField : { } ,
} ) ;
} ) ;
await Migrationdb . update ( ) ;
const contactbook = new Parse . Schema ( 'contracts_Contactbook' ) ;
contactbook . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { } ,
await ensureSchema ( Parse , 'contracts_Contactbook' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { } ,
addField : { } ,
} ) ;
} ) ;
return contactbook . update ( ) ;
} ;
/**
*
* @param {Parse} Parse
*/
exports . down = async Parse => {
const schema = new Parse . Schema ( 'contracts_Signature' ) ;
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , 'contracts_Signature' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await schema . update ( ) ;
const docSchema = new Parse . Schema ( 'contracts_Document' ) ;
docSchema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , 'contracts_Document' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await docSchema . update ( ) ;
const templateSchema = new Parse . Schema ( 'contracts_Template' ) ;
templateSchema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , 'contracts_Template' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await templateSchema . update ( ) ;
const dataFiles = new Parse . Schema ( 'partners_DataFiles' ) ;
dataFiles . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , 'partners_DataFiles' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await dataFiles . update ( ) ;
const pTenant = new Parse . Schema ( 'partners_Tenant' ) ;
pTenant . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , 'partners_Tenant' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await pTenant . update ( ) ;
const TenantCredits = new Parse . Schema ( 'partners_TenantCredits' ) ;
TenantCredits . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , 'partners_TenantCredits' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await TenantCredits . update ( ) ;
const _user = new Parse . Schema ( '_User' ) ;
_user . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , '_User' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await _user . update ( ) ;
const Migrationdb = new Parse . Schema ( 'Migrationdb' ) ;
Migrationdb . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , 'Migrationdb' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
await Migrationdb . update ( ) ;
const contactbook = new Parse . Schema ( 'contracts_Contactbook' ) ;
contactbook . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
await patchSchema ( Parse , 'contracts_Contactbook' , schema => {
schema . setCLP ( {
get : { '*' : true } ,
find : { '*' : true } ,
count : { '*' : true } ,
create : { '*' : true } ,
update : { '*' : true } ,
delete : { '*' : true } ,
addField : { '*' : true } ,
} ) ;
} ) ;
return contactbook . update ( ) ;
} ;