@budibase/pro 3.12.3 → 3.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
full += doc.type.toLowerCase() + "${Ge}"
|
|
26
26
|
emit("${Wu}" + full + doc.timestamp)
|
|
27
27
|
}
|
|
28
|
-
}`;await Vu(e,t,$u.APP_BACKUP_BY_TRIGGER)}var Zu=require("@budibase/types");var Qr={};w(Qr,{GENERIC_PAGE_SIZE:()=>ke,auditLogs:()=>jt,licenses:()=>me,quotas:()=>Je,versions:()=>Fr});var me={};w(me,{CLOUD_FREE_LICENSE:()=>WI,SELF_FREE_LICENSE:()=>io,UNLIMITED:()=>W,UNLIMITED_LICENSE:()=>$I});var ct=require("@budibase/types");var Je={};w(Je,{UNLIMITED:()=>jI,appBackupRetentionDays:()=>Gr,apps:()=>Pr,automationLogRetentionDays:()=>Mr,automations:()=>Nr,budibaseAICredits:()=>Br,creators:()=>Cr,customAIConfigurations:()=>kr,plugins:()=>Ur,queries:()=>Dr,rows:()=>Or,userGroups:()=>qr,users:()=>Lr});var ae=require("@budibase/types"),jI=-1,Or=e=>({[ae.StaticQuotaName.ROWS]:{name:"Rows",value:e,triggers:[90,100]}}),Pr=e=>({[ae.StaticQuotaName.APPS]:{name:"Apps",value:e,triggers:[100]}}),Lr=e=>({[ae.StaticQuotaName.USERS]:{name:"Users",value:e,triggers:[80,100]}}),Cr=e=>({[ae.StaticQuotaName.CREATORS]:{name:"Creators",value:e,triggers:[]}}),qr=e=>({[ae.StaticQuotaName.USER_GROUPS]:{name:"User Groups",value:e,triggers:[80,100]}}),Ur=e=>({[ae.StaticQuotaName.PLUGINS]:{name:"Plugins",value:e,triggers:[90,100]}}),Dr=e=>({[ae.MonthlyQuotaName.QUERIES]:{name:"Queries",value:e,triggers:[]}}),Nr=e=>({[ae.MonthlyQuotaName.AUTOMATIONS]:{name:"Automations",value:e,triggers:[80,90,100]}}),Br=e=>({[ae.MonthlyQuotaName.BUDIBASE_AI_CREDITS]:{name:"Budibase AI Credits",value:e,triggers:[80,90,100]}}),Mr=e=>({[ae.ConstantQuotaName.AUTOMATION_LOG_RETENTION_DAYS]:{name:"Automation Logs",value:e,triggers:[]}}),Gr=e=>({[ae.ConstantQuotaName.APP_BACKUPS_RETENTION_DAYS]:{name:"App Backups",value:e,triggers:[]}}),kr=e=>({[ae.StaticQuotaName.AI_CUSTOM_CONFIGS]:{name:"Custom AI Configuration",value:e,triggers:[]}});var W=-1,WI={features:[],quotas:{usage:{monthly:{...Dr(W),...Nr(200),...Br(5e4)},static:{...Pr(W),...Or(2e3),...Lr(5),...Cr(5),...qr(0),...Ur(10),...kr(0)}},constant:{...Mr(1),...Gr(0)}},plan:{type:ct.PlanType.FREE,usesInvoicing:!1,model:ct.PlanModel.PER_USER}},io={features:[],quotas:{usage:{monthly:{...Dr(W),...Nr(W),...Br(5e4)},static:{...Or(W),...Pr(W),...Lr(20),...Cr(W),...qr(0),...Ur(10),...kr(0)}},constant:{...Mr(1),...Gr(0)}},plan:{type:ct.PlanType.FREE,usesInvoicing:!1,model:ct.PlanModel.PER_USER}},$I={features:[],quotas:{usage:{monthly:{...Dr(W),...Nr(W),...Br(W)},static:{...Pr(W),...Or(W),...Lr(W),...Cr(W),...qr(W),...Ur(W),...kr(W)}},constant:{...Mr(W),...Gr(W)}},plan:{type:ct.PlanType.FREE,usesInvoicing:!1,model:ct.PlanModel.PER_USER}};var Fr={};w(Fr,{getLicenseVersion:()=>KI,getProVersion:()=>Ju});var Tt=require("@budibase/backend-core"),Ga=C(require("fs")),zu=C(require("path")),KI=()=>{if(Tt.env.isDev()){let e="dev-version.txt",t=zu.default.join(Tt.objectStore.budibaseTempDir(),e);if(Ga.default.existsSync(t))return Ga.default.readFileSync(t,"utf8");{let r=Tt.utils.newid();return Ga.default.writeFileSync(t,r),r}}else return Ju()},Ju=()=>{let e=Tt.env.VERSION;if(!e)throw new Error("No budibase pro version was specified");return e};var jt={};w(jt,{searchTable:()=>VI});var vt=require("@budibase/types"),Xu=require("@budibase/backend-core");function VI(){return{type:"table",sourceType:vt.TableSourceType.INTERNAL,name:vt.AUDIT_LOG_TYPE,sourceId:Xu.SQS_DATASOURCE_INTERNAL,primary:["_id"],schema:{metadata:{name:"metadata",type:vt.FieldType.JSON},fallback:{name:"fallback",type:vt.FieldType.JSON}}}}var ke=9;var YI=new Date(864e13).toISOString(),HI=1e3*60*60*24;async function ka(e){let r=(await Oe.getCachedLicense()).quotas?.[Zu.QuotaType.CONSTANT]?.[e]?.value||0;return r===me.UNLIMITED?new Date(YI).toISOString():new Date(new Date().getTime()-HI*r).toISOString()}async function tp(){return ka(ep.ConstantQuotaName.APP_BACKUPS_RETENTION_DAYS)}var uo=`${F.db.DocumentType.APP_BACKUP}${F.db.SEPARATOR}`;async function zI(e,t,r={}){let a=await tp(),n=F.db.getProdAppID(e),o=n,s=n;if(t.trigger&&t.type){let i=`${F.db.SEPARATOR}${t.trigger}`;i+=`${F.db.SEPARATOR}${t.type}`,o+=i,s+=i}return(!t.startDate||t.startDate<a)&&(t.startDate=a),t.startDate&&(s+=`${F.db.SEPARATOR}${t.startDate}`),t.endDate&&(o+=`${F.db.SEPARATOR}${t.endDate}`),{...r,descending:!0,startkey:`${uo}${o}${F.db.UNICODE_MAX}`,endkey:`${uo}${s}`}}async function rp(e,t){try{let r=F.db.getQueryIndex(F.db.ViewName.APP_BACKUP_BY_TRIGGER);return await e.query(r,t)}catch(r){if(r!=null&&r.error==="not_found")return await Hu(),rp(e,t);throw r}}function ap(e,t){return`${uo}${e}${F.db.SEPARATOR}${t}`}async function JI(e,t={}){let r=F.tenancy.getGlobalDB(),a,n=t.limit||9,o=await zI(e,t,{include_docs:!0,limit:n+1});t.page&&(o.startkey=t.page),!t.trigger||!t.type?a=await r.allDocs(o):a=await rp(r,o);let s=_r(a,{paginate:t.paginate,pageSize:n}),i=[...new Set(s.data.filter(f=>f.createdBy).map(f=>f.createdBy))],p=await F.users.bulkGetGlobalUsersById(i,{cleanup:!0});for(let f of p)for(let m of s.data)f?._id===m.createdBy&&(m.createdBy=f);return s}async function XI(e,t={}){let r=F.tenancy.getGlobalDB(),a=F.db.getProdAppID(e.appId),n=ap(a,e.timestamp),o={...e,_id:n,appId:a,name:e.name};return o._id=t.docId||o._id,o._rev=t.docRev||o._rev,t.filename&&(o.filename=t.filename),e.createdBy&&(o.createdBy=F.db.getGlobalIDFromUserMetadataID(e.createdBy)),await r.put(o)}async function ZI(e,t){let r=F.tenancy.getGlobalDB(),a=await r.get(e);return a.name=t,await r.put(a)}async function eS(e){let t=F.tenancy.getGlobalDB(),r=await t.get(e);await t.remove(r._id,r._rev)}async function tS(e){return await F.tenancy.getGlobalDB().get(e)}var Et={};w(Et,{get:()=>aS,getCacheEnvVarID:()=>sp,getEnvVarID:()=>Fa,update:()=>nS});var Pe=require("@budibase/backend-core"),op=C(require("lru-cache")),rS=1e3,np=new op.default({max:rS});function Fa(){return Pe.StaticDatabases.GLOBAL.docs.environmentVariables}function sp(e){return`${Pe.tenancy.getTenantId()}/${Fa()}/${e||""}`}async function aS(){let e=Fa(),t=Pe.tenancy.getGlobalDB(),r,a=!1;try{r=await t.get(e)}catch(i){if(i.status==404)a=!0;else throw i}let n=sp(r?._rev),o=np.get(n);if(o)return o;let s;return!a&&r?s={...r,variables:JSON.parse(Pe.encryption.decrypt(r.variables,Pe.encryption.SecretOption.ENCRYPTION))}:s={_id:e,variables:{}},np.set(n,s),s}async function nS(e){let t=Fa();return await Pe.tenancy.getGlobalDB().put({_id:e._id||t,_rev:e._rev||void 0,variables:Pe.encryption.encrypt(JSON.stringify(e.variables),Pe.encryption.SecretOption.ENCRYPTION)})}var ip=require("dd-trace"),ja=new Xn(L.env.ACCOUNT_PORTAL_URL),Wa=async e=>{try{let t=await e.json();if(t.message)return t.message}catch{}try{let t=await e.text();if(t)return t}catch{}},up=async e=>{let t,r;if(L.env.SELF_HOSTED){if(t=await Se.get(),!t.licenseKey)return;r={[L.constants.Header.LICENSE_KEY]:t.licenseKey}}else{let a=L.tenancy.getTenantId();r={[L.constants.Header.API_KEY]:L.env.
|
|
28
|
+
}`;await Vu(e,t,$u.APP_BACKUP_BY_TRIGGER)}var Zu=require("@budibase/types");var Qr={};w(Qr,{GENERIC_PAGE_SIZE:()=>ke,auditLogs:()=>jt,licenses:()=>me,quotas:()=>Je,versions:()=>Fr});var me={};w(me,{CLOUD_FREE_LICENSE:()=>WI,SELF_FREE_LICENSE:()=>io,UNLIMITED:()=>W,UNLIMITED_LICENSE:()=>$I});var ct=require("@budibase/types");var Je={};w(Je,{UNLIMITED:()=>jI,appBackupRetentionDays:()=>Gr,apps:()=>Pr,automationLogRetentionDays:()=>Mr,automations:()=>Nr,budibaseAICredits:()=>Br,creators:()=>Cr,customAIConfigurations:()=>kr,plugins:()=>Ur,queries:()=>Dr,rows:()=>Or,userGroups:()=>qr,users:()=>Lr});var ae=require("@budibase/types"),jI=-1,Or=e=>({[ae.StaticQuotaName.ROWS]:{name:"Rows",value:e,triggers:[90,100]}}),Pr=e=>({[ae.StaticQuotaName.APPS]:{name:"Apps",value:e,triggers:[100]}}),Lr=e=>({[ae.StaticQuotaName.USERS]:{name:"Users",value:e,triggers:[80,100]}}),Cr=e=>({[ae.StaticQuotaName.CREATORS]:{name:"Creators",value:e,triggers:[]}}),qr=e=>({[ae.StaticQuotaName.USER_GROUPS]:{name:"User Groups",value:e,triggers:[80,100]}}),Ur=e=>({[ae.StaticQuotaName.PLUGINS]:{name:"Plugins",value:e,triggers:[90,100]}}),Dr=e=>({[ae.MonthlyQuotaName.QUERIES]:{name:"Queries",value:e,triggers:[]}}),Nr=e=>({[ae.MonthlyQuotaName.AUTOMATIONS]:{name:"Automations",value:e,triggers:[80,90,100]}}),Br=e=>({[ae.MonthlyQuotaName.BUDIBASE_AI_CREDITS]:{name:"Budibase AI Credits",value:e,triggers:[80,90,100]}}),Mr=e=>({[ae.ConstantQuotaName.AUTOMATION_LOG_RETENTION_DAYS]:{name:"Automation Logs",value:e,triggers:[]}}),Gr=e=>({[ae.ConstantQuotaName.APP_BACKUPS_RETENTION_DAYS]:{name:"App Backups",value:e,triggers:[]}}),kr=e=>({[ae.StaticQuotaName.AI_CUSTOM_CONFIGS]:{name:"Custom AI Configuration",value:e,triggers:[]}});var W=-1,WI={features:[],quotas:{usage:{monthly:{...Dr(W),...Nr(200),...Br(5e4)},static:{...Pr(W),...Or(2e3),...Lr(5),...Cr(5),...qr(0),...Ur(10),...kr(0)}},constant:{...Mr(1),...Gr(0)}},plan:{type:ct.PlanType.FREE,usesInvoicing:!1,model:ct.PlanModel.PER_USER}},io={features:[],quotas:{usage:{monthly:{...Dr(W),...Nr(W),...Br(5e4)},static:{...Or(W),...Pr(W),...Lr(20),...Cr(W),...qr(0),...Ur(10),...kr(0)}},constant:{...Mr(1),...Gr(0)}},plan:{type:ct.PlanType.FREE,usesInvoicing:!1,model:ct.PlanModel.PER_USER}},$I={features:[],quotas:{usage:{monthly:{...Dr(W),...Nr(W),...Br(W)},static:{...Pr(W),...Or(W),...Lr(W),...Cr(W),...qr(W),...Ur(W),...kr(W)}},constant:{...Mr(W),...Gr(W)}},plan:{type:ct.PlanType.FREE,usesInvoicing:!1,model:ct.PlanModel.PER_USER}};var Fr={};w(Fr,{getLicenseVersion:()=>KI,getProVersion:()=>Ju});var Tt=require("@budibase/backend-core"),Ga=C(require("fs")),zu=C(require("path")),KI=()=>{if(Tt.env.isDev()){let e="dev-version.txt",t=zu.default.join(Tt.objectStore.budibaseTempDir(),e);if(Ga.default.existsSync(t))return Ga.default.readFileSync(t,"utf8");{let r=Tt.utils.newid();return Ga.default.writeFileSync(t,r),r}}else return Ju()},Ju=()=>{let e=Tt.env.VERSION;if(!e)throw new Error("No budibase pro version was specified");return e};var jt={};w(jt,{searchTable:()=>VI});var vt=require("@budibase/types"),Xu=require("@budibase/backend-core");function VI(){return{type:"table",sourceType:vt.TableSourceType.INTERNAL,name:vt.AUDIT_LOG_TYPE,sourceId:Xu.SQS_DATASOURCE_INTERNAL,primary:["_id"],schema:{metadata:{name:"metadata",type:vt.FieldType.JSON},fallback:{name:"fallback",type:vt.FieldType.JSON}}}}var ke=9;var YI=new Date(864e13).toISOString(),HI=1e3*60*60*24;async function ka(e){let r=(await Oe.getCachedLicense()).quotas?.[Zu.QuotaType.CONSTANT]?.[e]?.value||0;return r===me.UNLIMITED?new Date(YI).toISOString():new Date(new Date().getTime()-HI*r).toISOString()}async function tp(){return ka(ep.ConstantQuotaName.APP_BACKUPS_RETENTION_DAYS)}var uo=`${F.db.DocumentType.APP_BACKUP}${F.db.SEPARATOR}`;async function zI(e,t,r={}){let a=await tp(),n=F.db.getProdAppID(e),o=n,s=n;if(t.trigger&&t.type){let i=`${F.db.SEPARATOR}${t.trigger}`;i+=`${F.db.SEPARATOR}${t.type}`,o+=i,s+=i}return(!t.startDate||t.startDate<a)&&(t.startDate=a),t.startDate&&(s+=`${F.db.SEPARATOR}${t.startDate}`),t.endDate&&(o+=`${F.db.SEPARATOR}${t.endDate}`),{...r,descending:!0,startkey:`${uo}${o}${F.db.UNICODE_MAX}`,endkey:`${uo}${s}`}}async function rp(e,t){try{let r=F.db.getQueryIndex(F.db.ViewName.APP_BACKUP_BY_TRIGGER);return await e.query(r,t)}catch(r){if(r!=null&&r.error==="not_found")return await Hu(),rp(e,t);throw r}}function ap(e,t){return`${uo}${e}${F.db.SEPARATOR}${t}`}async function JI(e,t={}){let r=F.tenancy.getGlobalDB(),a,n=t.limit||9,o=await zI(e,t,{include_docs:!0,limit:n+1});t.page&&(o.startkey=t.page),!t.trigger||!t.type?a=await r.allDocs(o):a=await rp(r,o);let s=_r(a,{paginate:t.paginate,pageSize:n}),i=[...new Set(s.data.filter(f=>f.createdBy).map(f=>f.createdBy))],p=await F.users.bulkGetGlobalUsersById(i,{cleanup:!0});for(let f of p)for(let m of s.data)f?._id===m.createdBy&&(m.createdBy=f);return s}async function XI(e,t={}){let r=F.tenancy.getGlobalDB(),a=F.db.getProdAppID(e.appId),n=ap(a,e.timestamp),o={...e,_id:n,appId:a,name:e.name};return o._id=t.docId||o._id,o._rev=t.docRev||o._rev,t.filename&&(o.filename=t.filename),e.createdBy&&(o.createdBy=F.db.getGlobalIDFromUserMetadataID(e.createdBy)),await r.put(o)}async function ZI(e,t){let r=F.tenancy.getGlobalDB(),a=await r.get(e);return a.name=t,await r.put(a)}async function eS(e){let t=F.tenancy.getGlobalDB(),r=await t.get(e);await t.remove(r._id,r._rev)}async function tS(e){return await F.tenancy.getGlobalDB().get(e)}var Et={};w(Et,{get:()=>aS,getCacheEnvVarID:()=>sp,getEnvVarID:()=>Fa,update:()=>nS});var Pe=require("@budibase/backend-core"),op=C(require("lru-cache")),rS=1e3,np=new op.default({max:rS});function Fa(){return Pe.StaticDatabases.GLOBAL.docs.environmentVariables}function sp(e){return`${Pe.tenancy.getTenantId()}/${Fa()}/${e||""}`}async function aS(){let e=Fa(),t=Pe.tenancy.getGlobalDB(),r,a=!1;try{r=await t.get(e)}catch(i){if(i.status==404)a=!0;else throw i}let n=sp(r?._rev),o=np.get(n);if(o)return o;let s;return!a&&r?s={...r,variables:JSON.parse(Pe.encryption.decrypt(r.variables,Pe.encryption.SecretOption.ENCRYPTION))}:s={_id:e,variables:{}},np.set(n,s),s}async function nS(e){let t=Fa();return await Pe.tenancy.getGlobalDB().put({_id:e._id||t,_rev:e._rev||void 0,variables:Pe.encryption.encrypt(JSON.stringify(e.variables),Pe.encryption.SecretOption.ENCRYPTION)})}var ip=require("dd-trace"),ja=new Xn(L.env.ACCOUNT_PORTAL_URL),Wa=async e=>{try{let t=await e.json();if(t.message)return t.message}catch{}try{let t=await e.text();if(t)return t}catch{}},up=async e=>{let t,r;if(L.env.SELF_HOSTED){if(t=await Se.get(),!t.licenseKey)return;r={[L.constants.Header.LICENSE_KEY]:t.licenseKey}}else{let a=L.tenancy.getTenantId();r={[L.constants.Header.API_KEY]:L.env.INTERNAL_API_KEY,[L.constants.Header.TENANT_ID]:a}}return e(r)},pp=async()=>up(async e=>{let t=await Me.getQuotaUsage();if(t.usageQuota.users==null){let i=await L.users.getUserCount();console.info(`Syncing user count quota to ${i}`),t.usageQuota.users=i,await Me.setUsage(i,Qa.StaticQuotaName.USERS,Qa.QuotaUsageType.STATIC)}let r=await L.installation.getInstallFromDB(),a=L.tenancy.getTenantId(),n=await L.events.identification.getUniqueTenantId(a),o=Fr.getProVersion(),s={quotaUsage:t,tenantId:a,install:{id:r.installId,tenantId:n,version:o}};try{let i=await ja.post("/api/license",{headers:{...e},body:s});if(i.status===404||i.status===403)return;if(i.status!==200){let p=await Wa(i);throw new L.HTTPError(`Error getting license: ${p}`,i.status)}return i.json()}catch(i){if(L.env.DISABLE_ACCOUNT_PORTAL)return;throw i}});L.env.isJest()&&(pp=jest.fn());var Wt=pp;async function po(e){return await ip.tracer.trace("getLicenseFromKey",async t=>{let r;if(!L.env.INTERNAL_API_KEY)throw new Error("getLicenseFromKey requires INTERNAL_API_KEY to be set");try{r=await ja.get(`/api/license/${e}`,{headers:{[L.constants.Header.API_KEY]:L.env.INTERNAL_API_KEY}})}catch(a){if(L.env.DISABLE_ACCOUNT_PORTAL)return;throw a}if(r.status===404||r.status===403){t.addTags({licenseFound:!1});return}if(r.status!==200){let a=await Wa(r);throw new L.HTTPError(`Error getting license: ${a}`,r.status)}return r.json()})}var oS=e=>up(async t=>{let r=await ja.post("/api/license/usage/triggered",{headers:{...t},body:e});if(r.status!==200){let a=await Wa(r);L.logging.logAlert(`Error triggering quota usage: ${a}`)}}),co=async e=>{let t=await L.installation.getInstall(),r={installVersion:t.version,installId:t.installId},a=await ja.post("/api/license/activate",{headers:{[L.constants.Header.LICENSE_KEY]:e},body:r});if(a.status===403)throw new L.HTTPError("Invalid license key",400);if(a.status===409)throw new L.HTTPError("License key has already been activated",409);if(a.status!==200){let n=await Wa(a);throw new L.HTTPError(`Error activating license key: ${n}`,a.status)}return a.json()};var Vo=require("@budibase/backend-core");var un={};w(un,{activateOfflineLicenseToken:()=>jx,deleteOfflineLicenseToken:()=>Wx,dev:()=>la,enrichLicense:()=>ef,getIdentifier:()=>jo,getIdentifierBase64:()=>$x,getIdentifierFromBase64:()=>Kx,getOfflineLicense:()=>Wo,getOfflineLicenseToken:()=>Jd,signing:()=>$r,verifyExpiry:()=>Xd,verifyInstallation:()=>Zd});var $r={};w($r,{sign:()=>iS,verifyLicenseToken:()=>Wr});var lo=C(require("jsonwebtoken")),sS=`-----BEGIN PUBLIC KEY-----
|
|
29
29
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvz3jePLCFBXZ19c8Dpkv
|
|
30
30
|
XtSgOhKFOcvQdo/LV0KJRUzQWDPWuO4ILtBtnqhjtIzZH4CH0qCYBet5L6Qr4CM1
|
|
31
31
|
l2HXiAD1Q2rlHNW9wDaYyKb1F5f+v4RyqCAyzlkwRdksmkLeECTboojNnmRCrE3C
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"dist"
|
|
5
5
|
],
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
|
-
"version": "3.12.
|
|
7
|
+
"version": "3.12.5",
|
|
8
8
|
"description": "Budibase Pro (Backend)",
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"types": "dist/index.d.ts",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "1b7296dc708223ebfa03d91b471c1ad4a4b49758"
|
|
77
77
|
}
|