Browse Source
Merge pull request #2847 from Budibase/fix/2665
Fix created by/updated by auto columns breaking public forms
gh-pages
Michael Drury
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
19 additions and
7 deletions
-
packages/server/src/api/controllers/analytics.js
-
packages/server/src/api/routes/analytics.js
-
packages/server/src/utilities/rowProcessor/index.js
|
|
|
@ -7,14 +7,19 @@ if (env.POSTHOG_TOKEN && env.ENABLE_ANALYTICS && !env.SELF_HOSTED) { |
|
|
|
posthogClient = new PostHog(env.POSTHOG_TOKEN) |
|
|
|
} |
|
|
|
|
|
|
|
exports.isEnabled = async function (ctx) { |
|
|
|
exports.isEnabled = async ctx => { |
|
|
|
ctx.body = { |
|
|
|
enabled: !env.SELF_HOSTED && env.ENABLE_ANALYTICS === "true", |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
exports.endUserPing = async (ctx, next) => { |
|
|
|
if (!posthogClient) return next() |
|
|
|
exports.endUserPing = async ctx => { |
|
|
|
if (!posthogClient) { |
|
|
|
ctx.body = { |
|
|
|
ping: false, |
|
|
|
} |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
posthogClient.capture("budibase:end_user_ping", { |
|
|
|
userId: ctx.user && ctx.user._id, |
|
|
|
|
|
|
|
@ -3,7 +3,8 @@ const controller = require("../controllers/analytics") |
|
|
|
|
|
|
|
const router = Router() |
|
|
|
|
|
|
|
router.get("/api/analytics", controller.isEnabled) |
|
|
|
router.post("/api/analytics/ping", controller.endUserPing) |
|
|
|
router |
|
|
|
.get("/api/analytics", controller.isEnabled) |
|
|
|
.post("/api/analytics/ping", controller.endUserPing) |
|
|
|
|
|
|
|
module.exports = router |
|
|
|
|
|
|
|
@ -99,6 +99,7 @@ function processAutoColumn( |
|
|
|
row, |
|
|
|
opts = { reprocessing: false, noAutoRelationships: false } |
|
|
|
) { |
|
|
|
let noUser = !user || !user.userId |
|
|
|
let now = new Date().toISOString() |
|
|
|
// if a row doesn't have a revision then it doesn't exist yet
|
|
|
|
const creating = !row._rev |
|
|
|
@ -108,7 +109,12 @@ function processAutoColumn( |
|
|
|
} |
|
|
|
switch (schema.subtype) { |
|
|
|
case AutoFieldSubTypes.CREATED_BY: |
|
|
|
if (creating && !opts.reprocessing && !opts.noAutoRelationships) { |
|
|
|
if ( |
|
|
|
creating && |
|
|
|
!opts.reprocessing && |
|
|
|
!opts.noAutoRelationships && |
|
|
|
!noUser |
|
|
|
) { |
|
|
|
row[key] = [user.userId] |
|
|
|
} |
|
|
|
break |
|
|
|
@ -118,7 +124,7 @@ function processAutoColumn( |
|
|
|
} |
|
|
|
break |
|
|
|
case AutoFieldSubTypes.UPDATED_BY: |
|
|
|
if (!opts.reprocessing && !opts.noAutoRelationships) { |
|
|
|
if (!opts.reprocessing && !opts.noAutoRelationships && !noUser) { |
|
|
|
row[key] = [user.userId] |
|
|
|
} |
|
|
|
break |
|
|
|
|