@budibase/backend-core 2.13.51 → 2.13.52
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 +151 -21
- package/dist/index.js.map +4 -4
- package/dist/index.js.meta.json +1 -1
- package/dist/package.json +4 -4
- package/dist/plugins.js.meta.json +1 -1
- package/dist/src/cache/generic.d.ts +16 -6
- package/dist/src/cache/generic.js +12 -10
- package/dist/src/cache/generic.js.map +1 -1
- package/dist/src/cache/passwordReset.d.ts +5 -0
- package/dist/src/cache/passwordReset.js +13 -2
- package/dist/src/cache/passwordReset.js.map +1 -1
- package/dist/src/db/couch/DatabaseImpl.d.ts +2 -1
- package/dist/src/db/couch/DatabaseImpl.js +3 -1
- package/dist/src/db/couch/DatabaseImpl.js.map +1 -1
- package/dist/src/db/db.js +2 -1
- package/dist/src/db/db.js.map +1 -1
- package/dist/src/db/instrumentation.d.ts +27 -0
- package/dist/src/db/instrumentation.js +117 -0
- package/dist/src/db/instrumentation.js.map +1 -0
- package/dist/src/logging/pino/logger.js +6 -0
- package/dist/src/logging/pino/logger.js.map +1 -1
- package/dist/src/users/db.js.map +1 -1
- package/package.json +4 -4
- package/src/cache/generic.ts +12 -11
- package/src/cache/passwordReset.ts +13 -2
- package/src/db/couch/DatabaseImpl.ts +3 -1
- package/src/db/db.ts +2 -1
- package/src/db/instrumentation.ts +156 -0
- package/src/logging/pino/logger.ts +6 -0
- package/src/users/db.ts +1 -1
package/dist/index.js
CHANGED
|
@@ -2905,6 +2905,123 @@ var init_newid = __esm({
|
|
|
2905
2905
|
}
|
|
2906
2906
|
});
|
|
2907
2907
|
|
|
2908
|
+
// src/db/instrumentation.ts
|
|
2909
|
+
var import_dd_trace, DDInstrumentedDatabase;
|
|
2910
|
+
var init_instrumentation = __esm({
|
|
2911
|
+
"src/db/instrumentation.ts"() {
|
|
2912
|
+
"use strict";
|
|
2913
|
+
import_dd_trace = __toESM(require("dd-trace"));
|
|
2914
|
+
DDInstrumentedDatabase = class {
|
|
2915
|
+
constructor(db) {
|
|
2916
|
+
this.db = db;
|
|
2917
|
+
}
|
|
2918
|
+
get name() {
|
|
2919
|
+
return this.db.name;
|
|
2920
|
+
}
|
|
2921
|
+
exists() {
|
|
2922
|
+
return import_dd_trace.default.trace("db.exists", (span) => {
|
|
2923
|
+
span?.addTags({ db_name: this.name });
|
|
2924
|
+
return this.db.exists();
|
|
2925
|
+
});
|
|
2926
|
+
}
|
|
2927
|
+
checkSetup() {
|
|
2928
|
+
return import_dd_trace.default.trace("db.checkSetup", (span) => {
|
|
2929
|
+
span?.addTags({ db_name: this.name });
|
|
2930
|
+
return this.db.checkSetup();
|
|
2931
|
+
});
|
|
2932
|
+
}
|
|
2933
|
+
get(id) {
|
|
2934
|
+
return import_dd_trace.default.trace("db.get", (span) => {
|
|
2935
|
+
span?.addTags({ db_name: this.name, doc_id: id });
|
|
2936
|
+
return this.db.get(id);
|
|
2937
|
+
});
|
|
2938
|
+
}
|
|
2939
|
+
getMultiple(ids, opts) {
|
|
2940
|
+
return import_dd_trace.default.trace("db.getMultiple", (span) => {
|
|
2941
|
+
span?.addTags({
|
|
2942
|
+
db_name: this.name,
|
|
2943
|
+
num_docs: ids.length,
|
|
2944
|
+
allow_missing: opts?.allowMissing
|
|
2945
|
+
});
|
|
2946
|
+
return this.db.getMultiple(ids, opts);
|
|
2947
|
+
});
|
|
2948
|
+
}
|
|
2949
|
+
remove(id, rev) {
|
|
2950
|
+
return import_dd_trace.default.trace("db.remove", (span) => {
|
|
2951
|
+
span?.addTags({ db_name: this.name, doc_id: id });
|
|
2952
|
+
return this.db.remove(id, rev);
|
|
2953
|
+
});
|
|
2954
|
+
}
|
|
2955
|
+
put(document, opts) {
|
|
2956
|
+
return import_dd_trace.default.trace("db.put", (span) => {
|
|
2957
|
+
span?.addTags({ db_name: this.name, doc_id: document._id });
|
|
2958
|
+
return this.db.put(document, opts);
|
|
2959
|
+
});
|
|
2960
|
+
}
|
|
2961
|
+
bulkDocs(documents) {
|
|
2962
|
+
return import_dd_trace.default.trace("db.bulkDocs", (span) => {
|
|
2963
|
+
span?.addTags({ db_name: this.name, num_docs: documents.length });
|
|
2964
|
+
return this.db.bulkDocs(documents);
|
|
2965
|
+
});
|
|
2966
|
+
}
|
|
2967
|
+
allDocs(params2) {
|
|
2968
|
+
return import_dd_trace.default.trace("db.allDocs", (span) => {
|
|
2969
|
+
span?.addTags({ db_name: this.name });
|
|
2970
|
+
return this.db.allDocs(params2);
|
|
2971
|
+
});
|
|
2972
|
+
}
|
|
2973
|
+
query(viewName, params2) {
|
|
2974
|
+
return import_dd_trace.default.trace("db.query", (span) => {
|
|
2975
|
+
span?.addTags({ db_name: this.name, view_name: viewName });
|
|
2976
|
+
return this.db.query(viewName, params2);
|
|
2977
|
+
});
|
|
2978
|
+
}
|
|
2979
|
+
destroy() {
|
|
2980
|
+
return import_dd_trace.default.trace("db.destroy", (span) => {
|
|
2981
|
+
span?.addTags({ db_name: this.name });
|
|
2982
|
+
return this.db.destroy();
|
|
2983
|
+
});
|
|
2984
|
+
}
|
|
2985
|
+
compact() {
|
|
2986
|
+
return import_dd_trace.default.trace("db.compact", (span) => {
|
|
2987
|
+
span?.addTags({ db_name: this.name });
|
|
2988
|
+
return this.db.compact();
|
|
2989
|
+
});
|
|
2990
|
+
}
|
|
2991
|
+
dump(stream2, opts) {
|
|
2992
|
+
return import_dd_trace.default.trace("db.dump", (span) => {
|
|
2993
|
+
span?.addTags({ db_name: this.name });
|
|
2994
|
+
return this.db.dump(stream2, opts);
|
|
2995
|
+
});
|
|
2996
|
+
}
|
|
2997
|
+
load(...args) {
|
|
2998
|
+
return import_dd_trace.default.trace("db.load", (span) => {
|
|
2999
|
+
span?.addTags({ db_name: this.name });
|
|
3000
|
+
return this.db.load(...args);
|
|
3001
|
+
});
|
|
3002
|
+
}
|
|
3003
|
+
createIndex(...args) {
|
|
3004
|
+
return import_dd_trace.default.trace("db.createIndex", (span) => {
|
|
3005
|
+
span?.addTags({ db_name: this.name });
|
|
3006
|
+
return this.db.createIndex(...args);
|
|
3007
|
+
});
|
|
3008
|
+
}
|
|
3009
|
+
deleteIndex(...args) {
|
|
3010
|
+
return import_dd_trace.default.trace("db.deleteIndex", (span) => {
|
|
3011
|
+
span?.addTags({ db_name: this.name });
|
|
3012
|
+
return this.db.deleteIndex(...args);
|
|
3013
|
+
});
|
|
3014
|
+
}
|
|
3015
|
+
getIndexes(...args) {
|
|
3016
|
+
return import_dd_trace.default.trace("db.getIndexes", (span) => {
|
|
3017
|
+
span?.addTags({ db_name: this.name });
|
|
3018
|
+
return this.db.getIndexes(...args);
|
|
3019
|
+
});
|
|
3020
|
+
}
|
|
3021
|
+
};
|
|
3022
|
+
}
|
|
3023
|
+
});
|
|
3024
|
+
|
|
2908
3025
|
// src/db/couch/DatabaseImpl.ts
|
|
2909
3026
|
function buildNano(couchInfo) {
|
|
2910
3027
|
return (0, import_nano.default)({
|
|
@@ -2918,7 +3035,8 @@ function buildNano(couchInfo) {
|
|
|
2918
3035
|
});
|
|
2919
3036
|
}
|
|
2920
3037
|
function DatabaseWithConnection(dbName, connection, opts) {
|
|
2921
|
-
|
|
3038
|
+
const db = new DatabaseImpl(dbName, opts, connection);
|
|
3039
|
+
return new DDInstrumentedDatabase(db);
|
|
2922
3040
|
}
|
|
2923
3041
|
var import_nano, DatabaseImpl;
|
|
2924
3042
|
var init_DatabaseImpl = __esm({
|
|
@@ -2930,6 +3048,7 @@ var init_DatabaseImpl = __esm({
|
|
|
2930
3048
|
init_utils2();
|
|
2931
3049
|
init_pouchDB();
|
|
2932
3050
|
init_newid();
|
|
3051
|
+
init_instrumentation();
|
|
2933
3052
|
DatabaseImpl = class _DatabaseImpl {
|
|
2934
3053
|
constructor(dbName, opts, connection) {
|
|
2935
3054
|
this.couchInfo = getCouchInfo();
|
|
@@ -3146,7 +3265,7 @@ var init_couch = __esm({
|
|
|
3146
3265
|
|
|
3147
3266
|
// src/db/db.ts
|
|
3148
3267
|
function getDB(dbName, opts) {
|
|
3149
|
-
return new DatabaseImpl(dbName, opts);
|
|
3268
|
+
return new DDInstrumentedDatabase(new DatabaseImpl(dbName, opts));
|
|
3150
3269
|
}
|
|
3151
3270
|
async function doWithDB(dbName, cb, opts) {
|
|
3152
3271
|
const db = getDB(dbName, opts);
|
|
@@ -3167,6 +3286,7 @@ var init_db3 = __esm({
|
|
|
3167
3286
|
"src/db/db.ts"() {
|
|
3168
3287
|
"use strict";
|
|
3169
3288
|
init_couch();
|
|
3289
|
+
init_instrumentation();
|
|
3170
3290
|
}
|
|
3171
3291
|
});
|
|
3172
3292
|
|
|
@@ -5731,7 +5851,7 @@ var init_system2 = __esm({
|
|
|
5731
5851
|
});
|
|
5732
5852
|
|
|
5733
5853
|
// src/logging/pino/logger.ts
|
|
5734
|
-
var import_pino, import_pino_pretty, pinoInstance, isPlainObject2, isError2, isMessage2, getLogParams3, logger;
|
|
5854
|
+
var import_pino, import_pino_pretty, import_dd_trace2, import_ext, pinoInstance, isPlainObject2, isError2, isMessage2, getLogParams3, logger;
|
|
5735
5855
|
var init_logger = __esm({
|
|
5736
5856
|
"src/logging/pino/logger.ts"() {
|
|
5737
5857
|
"use strict";
|
|
@@ -5740,6 +5860,8 @@ var init_logger = __esm({
|
|
|
5740
5860
|
init_environment2();
|
|
5741
5861
|
init_context2();
|
|
5742
5862
|
init_correlation2();
|
|
5863
|
+
import_dd_trace2 = __toESM(require("dd-trace"));
|
|
5864
|
+
import_ext = require("dd-trace/ext");
|
|
5743
5865
|
init_system2();
|
|
5744
5866
|
if (!environment_default.DISABLE_PINO_LOGGER) {
|
|
5745
5867
|
let isPlainObject = function(obj) {
|
|
@@ -5773,6 +5895,10 @@ var init_logger = __esm({
|
|
|
5773
5895
|
identityType: identity?.type,
|
|
5774
5896
|
correlationId: getId()
|
|
5775
5897
|
};
|
|
5898
|
+
const span = import_dd_trace2.default.scope().active();
|
|
5899
|
+
if (span) {
|
|
5900
|
+
import_dd_trace2.default.inject(span.context(), import_ext.formats.LOG, contextObject);
|
|
5901
|
+
}
|
|
5776
5902
|
const mergingObject = {
|
|
5777
5903
|
err: error,
|
|
5778
5904
|
pid: process.pid,
|
|
@@ -6598,15 +6724,12 @@ var TTL = /* @__PURE__ */ ((TTL2) => {
|
|
|
6598
6724
|
TTL2[TTL2["ONE_DAY"] = 86400] = "ONE_DAY";
|
|
6599
6725
|
return TTL2;
|
|
6600
6726
|
})(TTL || {});
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
var
|
|
6605
|
-
var
|
|
6606
|
-
var
|
|
6607
|
-
var destroy = performExport("delete");
|
|
6608
|
-
var withCache = performExport("withCache");
|
|
6609
|
-
var bustCache = performExport("bustCache");
|
|
6727
|
+
var keys = (...args) => GENERIC.keys(...args);
|
|
6728
|
+
var get2 = (...args) => GENERIC.get(...args);
|
|
6729
|
+
var store = (...args) => GENERIC.store(...args);
|
|
6730
|
+
var destroy = (...args) => GENERIC.delete(...args);
|
|
6731
|
+
var withCache = (...args) => GENERIC.withCache(...args);
|
|
6732
|
+
var bustCache = (...args) => GENERIC.bustCache(...args);
|
|
6610
6733
|
|
|
6611
6734
|
// src/cache/user.ts
|
|
6612
6735
|
var user_exports = {};
|
|
@@ -7065,13 +7188,13 @@ function validEmail(value) {
|
|
|
7065
7188
|
}
|
|
7066
7189
|
|
|
7067
7190
|
// src/utils/Duration.ts
|
|
7068
|
-
var DurationType = /* @__PURE__ */ ((
|
|
7069
|
-
|
|
7070
|
-
|
|
7071
|
-
|
|
7072
|
-
|
|
7073
|
-
|
|
7074
|
-
return
|
|
7191
|
+
var DurationType = /* @__PURE__ */ ((DurationType3) => {
|
|
7192
|
+
DurationType3["MILLISECONDS"] = "milliseconds";
|
|
7193
|
+
DurationType3["SECONDS"] = "seconds";
|
|
7194
|
+
DurationType3["MINUTES"] = "minutes";
|
|
7195
|
+
DurationType3["HOURS"] = "hours";
|
|
7196
|
+
DurationType3["DAYS"] = "days";
|
|
7197
|
+
return DurationType3;
|
|
7075
7198
|
})(DurationType || {});
|
|
7076
7199
|
var conversion = {
|
|
7077
7200
|
milliseconds: 1,
|
|
@@ -11210,7 +11333,8 @@ var Writethrough = class {
|
|
|
11210
11333
|
var passwordReset_exports = {};
|
|
11211
11334
|
__export(passwordReset_exports, {
|
|
11212
11335
|
createCode: () => createCode2,
|
|
11213
|
-
getCode: () => getCode2
|
|
11336
|
+
getCode: () => getCode2,
|
|
11337
|
+
invalidateCode: () => invalidateCode
|
|
11214
11338
|
});
|
|
11215
11339
|
init_init();
|
|
11216
11340
|
var TTL_SECONDS2 = Duration.fromHours(1).toSeconds();
|
|
@@ -11224,10 +11348,16 @@ async function getCode2(code) {
|
|
|
11224
11348
|
const client = await getPasswordResetClient();
|
|
11225
11349
|
const value = await client.get(code);
|
|
11226
11350
|
if (!value) {
|
|
11227
|
-
throw
|
|
11351
|
+
throw new Error(
|
|
11352
|
+
"Provided information is not valid, cannot reset password - please try again."
|
|
11353
|
+
);
|
|
11228
11354
|
}
|
|
11229
11355
|
return value;
|
|
11230
11356
|
}
|
|
11357
|
+
async function invalidateCode(code) {
|
|
11358
|
+
const client = await getPasswordResetClient();
|
|
11359
|
+
await client.delete(code);
|
|
11360
|
+
}
|
|
11231
11361
|
|
|
11232
11362
|
// src/configs/configs.ts
|
|
11233
11363
|
init_context2();
|