mirror of https://github.com/Budibase/budibase.git
35 changed files with 765 additions and 556 deletions
@ -1,5 +1,5 @@ |
|||
const PosthogClient = require("./posthog") |
|||
const env = require("../../environment") |
|||
const env = require("../environment") |
|||
|
|||
class Analytics { |
|||
constructor() { |
|||
@ -1,7 +1,4 @@ |
|||
const Analytics = require("./analytics") |
|||
|
|||
const analytics = new Analytics() |
|||
|
|||
module.exports = { |
|||
analytics, |
|||
} |
|||
module.exports = analytics |
|||
@ -0,0 +1,60 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_CREATED, properties) |
|||
} |
|||
|
|||
exports.updated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_UPDATED, properties) |
|||
} |
|||
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_DELETED, properties) |
|||
} |
|||
|
|||
exports.published = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_PUBLISHED, properties) |
|||
} |
|||
|
|||
exports.unpublished = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_UNPUBLISHED, properties) |
|||
} |
|||
|
|||
exports.fileImported = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_FILE_IMPORTED, properties) |
|||
} |
|||
|
|||
exports.templateImported = templateKey => { |
|||
const properties = { |
|||
templateKey, |
|||
} |
|||
events.processEvent(Events.APP_TEMPLATE_IMPORTED, properties) |
|||
} |
|||
|
|||
exports.versionUpdated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_VERSION_UPDATED, properties) |
|||
} |
|||
|
|||
exports.versionReverted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_VERSION_REVERTED, properties) |
|||
} |
|||
|
|||
exports.reverted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_REVERTED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.exported = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.APP_EXPORTED, properties) |
|||
} |
|||
@ -0,0 +1,40 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.login = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.AUTH_LOGIN, properties) |
|||
} |
|||
|
|||
exports.logout = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.AUTH_LOGOUT, properties) |
|||
} |
|||
|
|||
exports.SSOCreated = type => { |
|||
const properties = { |
|||
type, |
|||
} |
|||
events.processEvent(Events.AUTH_SSO_CREATED, properties) |
|||
} |
|||
|
|||
exports.SSOUpdated = type => { |
|||
const properties = { |
|||
type, |
|||
} |
|||
events.processEvent(Events.AUTH_SSO_UPDATED, properties) |
|||
} |
|||
|
|||
exports.SSOActivated = type => { |
|||
const properties = { |
|||
type, |
|||
} |
|||
events.processEvent(Events.AUTH_SSO_ACTIVATED, properties) |
|||
} |
|||
|
|||
exports.SSODeactivated = type => { |
|||
const properties = { |
|||
type, |
|||
} |
|||
events.processEvent(Events.AUTH_SSO_DEACTIVATED, properties) |
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.AUTOMATION_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.AUTOMATION_DELETED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.tested = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.AUTOMATION_TESTED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.run = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.AUTOMATION_RUN, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.stepCreated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.AUTOMATION_STEP_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.stepDeleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.AUTOMATION_STEP_DELETED, properties) |
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.DATASOURCE_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.updated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.DATASOURCE_UPDATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.DATASOURCE_DELETED, properties) |
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.SMTPCreated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.EMAIL_SMTP_CREATED, properties) |
|||
} |
|||
|
|||
exports.SMTPUpdated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.EMAIL_SMTP_UPDATED, properties) |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
const app = require("./app") |
|||
const auth = require("./auth") |
|||
const automation = require("./automation") |
|||
const datasource = require("./datasource") |
|||
const email = require("./email") |
|||
const licensing = require("./licensing") |
|||
const layout = require("./layout") |
|||
const org = require("./org") |
|||
const query = require("./query") |
|||
const row = require("./screen") |
|||
const table = require("./table") |
|||
const serve = require("./serve") |
|||
const user = require("./user") |
|||
const view = require("./view") |
|||
|
|||
module.exports = { |
|||
app, |
|||
auth, |
|||
automation, |
|||
datasource, |
|||
email, |
|||
licensing, |
|||
layout, |
|||
org, |
|||
query, |
|||
row, |
|||
table, |
|||
serve, |
|||
user, |
|||
view, |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
// LAYOUT
|
|||
|
|||
// TODO
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.LAYOUT_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.LAYOUT_DELETED, properties) |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.quotaExceeded = (quotaName, value) => { |
|||
const properties = { |
|||
name: quotaName, |
|||
value, |
|||
} |
|||
events.processEvent(Events.LICENSING_QUOTA_EXCEEDED, properties) |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.nameUpdated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ORG_NAME_UPDATED, properties) |
|||
} |
|||
|
|||
exports.logoUpdated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ORG_LOGO_UPDATED, properties) |
|||
} |
|||
|
|||
exports.platformURLUpdated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ORG_PLATFORM_URL_UPDATED, properties) |
|||
} |
|||
|
|||
exports.versionChecked = version => { |
|||
const properties = { |
|||
version, |
|||
} |
|||
events.processEvent(Events.UPDATE_VERSION_CHECKED, properties) |
|||
} |
|||
|
|||
exports.analyticsOptOut = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ANALYTICS_OPT_OUT, properties) |
|||
} |
|||
|
|||
exports.npsSubmitted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.NPS_SUBMITTED, properties) |
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.QUERY_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.updated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.QUERY_UPDATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.QUERY_DELETED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.imported = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.QUERY_IMPORTED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.run = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.QUERY_RUN, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.previewed = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.QUERY_PREVIEWED, properties) |
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ROLE_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ROLE_DELETED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.assigned = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ROLE_ASSIGNED, properties) |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ROW_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.imported = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ROW_IMPORTED, properties) |
|||
exports.rowCreated() |
|||
} |
|||
|
|||
// TODO
|
|||
exports.updated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ROW_UPDATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.ROW_DELETED, properties) |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
// TODO
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.SCREEN_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.SCREEN_DELETED, properties) |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
// TODO
|
|||
exports.builderServed = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.BUILDER_SERVED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.clientServed = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.CLIENT_SERVED, properties) |
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.TABLE_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.updated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.TABLE_UPDATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.TABLE_DELETED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.exported = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.TABLE_EXPORTED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.imported = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.TABLE_IMPORTED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.permissionUpdated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.TABLE_PERMISSION_UPDATED, properties) |
|||
} |
|||
@ -0,0 +1,85 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
// TODO
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.updated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_UPDATED, properties) |
|||
} |
|||
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_DELETED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.passwordForceReset = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_PASSWORD_FORCE_RESET, properties) |
|||
} |
|||
|
|||
// PERMISSIONS
|
|||
|
|||
// TODO
|
|||
exports.permissionAdminAssigned = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_PERMISSION_ADMIN_ASSIGNED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.permissionAdminRemoved = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_PERMISSION_ADMIN_REMOVED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.permissionBuilderAssigned = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_PERMISSION_BUILDER_ASSIGNED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.permissionBuilderRemoved = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_PERMISSION_BUILDER_REMOVED, properties) |
|||
} |
|||
|
|||
// INVITE
|
|||
|
|||
exports.invited = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_INVITED, properties) |
|||
} |
|||
|
|||
exports.inviteAccepted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_INVITED_ACCEPTED, properties) |
|||
} |
|||
|
|||
// SELF
|
|||
|
|||
exports.selfUpdated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_SELF_UPDATED, properties) |
|||
} |
|||
|
|||
exports.selfPasswordUpdated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_SELF_PASSWORD_UPDATED, properties) |
|||
} |
|||
|
|||
exports.passwordResetRequested = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_PASSWORD_RESET_REQUESTED, properties) |
|||
} |
|||
|
|||
exports.passwordReset = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.USER_PASSWORD_RESET, properties) |
|||
} |
|||
@ -0,0 +1,49 @@ |
|||
const events = require("../events") |
|||
const { Events } = require("../constants") |
|||
|
|||
exports.created = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.VIEW_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.updated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.VIEW_UPDATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.deleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.VIEW_DELETED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.exported = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.VIEW_EXPORTED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.filterCreated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.VIEW_FILTER_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.filterDeleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.VIEW_FILTER_DELETED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.calculationCreated = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.VIEW_CALCULATION_CREATED, properties) |
|||
} |
|||
|
|||
// TODO
|
|||
exports.calculationDeleted = () => { |
|||
const properties = {} |
|||
events.processEvent(Events.VIEW_CALCULATION_DELETED, properties) |
|||
} |
|||
@ -1,2 +1,5 @@ |
|||
const events = require("./events") |
|||
module.exports = events |
|||
const handlers = require("./handlers") |
|||
|
|||
module.exports = { |
|||
...handlers, |
|||
} |
|||
|
|||
@ -0,0 +1 @@ |
|||
{} |
|||
@ -0,0 +1,24 @@ |
|||
const setup = require("./utilities") |
|||
|
|||
describe("/deployments", () => { |
|||
let request = setup.getRequest() |
|||
let config = setup.getConfig() |
|||
|
|||
afterAll(setup.afterAll) |
|||
|
|||
beforeEach(async () => { |
|||
await config.init() |
|||
jest.clearAllMocks() |
|||
}) |
|||
|
|||
describe("deploy", () => { |
|||
it("should deploy the application", async () => { |
|||
await request |
|||
.post(`/api/deploy`) |
|||
.set(config.defaultHeaders()) |
|||
.expect("Content-Type", /json/) |
|||
.expect(200) |
|||
expect(config.getEvents().app.published.mock.calls.length).toBe(1) |
|||
}) |
|||
}) |
|||
}) |
|||
@ -0,0 +1,24 @@ |
|||
const setup = require("./utilities") |
|||
|
|||
describe("/dev", () => { |
|||
let request = setup.getRequest() |
|||
let config = setup.getConfig() |
|||
|
|||
afterAll(setup.afterAll) |
|||
|
|||
beforeEach(async () => { |
|||
await config.init() |
|||
jest.clearAllMocks() |
|||
}) |
|||
|
|||
describe("revert", () => { |
|||
it("should revert the application", async () => { |
|||
await request |
|||
.post(`/api/dev/${config.getAppId()}/revert`) |
|||
.set(config.defaultHeaders()) |
|||
.expect("Content-Type", /json/) |
|||
.expect(200) |
|||
expect(config.getEvents().app.reverted.mock.calls.length).toBe(1) |
|||
}) |
|||
}) |
|||
}) |
|||
@ -0,0 +1,22 @@ |
|||
const core = require("@budibase/backend-core") |
|||
|
|||
const events = { |
|||
app: { |
|||
created: jest.fn(), |
|||
updated: jest.fn(), |
|||
deleted: jest.fn(), |
|||
published: jest.fn(), |
|||
unpublished: jest.fn(), |
|||
templateImported: jest.fn(), |
|||
fileImported: jest.fn(), |
|||
versionUpdated: jest.fn(), |
|||
versionReverted: jest.fn(), |
|||
reverted: jest.fn(), |
|||
exported: jest.fn(), |
|||
}, |
|||
} |
|||
|
|||
core.events = events |
|||
module.exports = { |
|||
events, |
|||
} |
|||
Loading…
Reference in new issue