Addressing majority of PR comments.

This commit is contained in:
mike12345567 2022-10-24 10:04:14 +01:00
parent ce01e20d36
commit 6edffb0d5e
14 changed files with 26 additions and 56 deletions

View File

@ -64,7 +64,7 @@
}, },
"devDependencies": { "devDependencies": {
"@types/chance": "1.1.3", "@types/chance": "1.1.3",
"@types/ioredis": "4.28.10", "@types/ioredis": "4.28.0",
"@types/jest": "27.5.1", "@types/jest": "27.5.1",
"@types/koa": "2.0.52", "@types/koa": "2.0.52",
"@types/lodash": "4.14.180", "@types/lodash": "4.14.180",

View File

@ -1,8 +1,8 @@
import { AppBackup, AppBackupRevertEvent, Event } from "@budibase/types" import { AppBackup, AppBackupRestoreEvent, Event } from "@budibase/types"
import { publishEvent } from "../events" import { publishEvent } from "../events"
export async function appBackupRestored(backup: AppBackup) { export async function appBackupRestored(backup: AppBackup) {
const properties: AppBackupRevertEvent = { const properties: AppBackupRestoreEvent = {
appId: backup.appId, appId: backup.appId,
backupName: backup.name!, backupName: backup.name!,
backupCreatedAt: backup.timestamp, backupCreatedAt: backup.timestamp,

View File

@ -6,18 +6,18 @@ export type StalledFn = (job: Job) => Promise<void>
export function addListeners( export function addListeners(
queue: Queue, queue: Queue,
jobQueue: JobQueue, jobQueue: JobQueue,
removeStalled?: StalledFn removeStalledCb?: StalledFn
) { ) {
logging(queue, jobQueue) logging(queue, jobQueue)
if (removeStalled) { if (removeStalledCb) {
handleStalled(queue, removeStalled) handleStalled(queue, removeStalledCb)
} }
} }
function handleStalled(queue: Queue, removeStalled?: StalledFn) { function handleStalled(queue: Queue, removeStalledCb?: StalledFn) {
queue.on("stalled", async (job: Job) => { queue.on("stalled", async (job: Job) => {
if (removeStalled) { if (removeStalledCb) {
await removeStalled(job) await removeStalledCb(job)
} else if (job.opts.repeat) { } else if (job.opts.repeat) {
const jobId = job.id const jobId = job.id
const repeatJobs = await queue.getRepeatableJobs() const repeatJobs = await queue.getRepeatableJobs()

View File

@ -18,7 +18,7 @@ async function cleanup() {
export function createQueue<T>( export function createQueue<T>(
jobQueue: JobQueue, jobQueue: JobQueue,
removeStalled?: StalledFn opts: { removeStalledCb?: StalledFn }
): BullQueue.Queue<T> { ): BullQueue.Queue<T> {
const queueConfig: any = redisProtocolUrl || { redis: opts } const queueConfig: any = redisProtocolUrl || { redis: opts }
let queue: any let queue: any
@ -27,7 +27,7 @@ export function createQueue<T>(
} else { } else {
queue = new InMemoryQueue(jobQueue, queueConfig) queue = new InMemoryQueue(jobQueue, queueConfig)
} }
addListeners(queue, jobQueue, removeStalled) addListeners(queue, jobQueue, opts?.removeStalledCb)
QUEUES.push(queue) QUEUES.push(queue)
if (!cleanupInterval) { if (!cleanupInterval) {
cleanupInterval = setInterval(cleanup, CLEANUP_PERIOD_MS) cleanupInterval = setInterval(cleanup, CLEANUP_PERIOD_MS)

View File

@ -291,11 +291,6 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@budibase/types@2.0.30-alpha.3":
version "2.0.30-alpha.3"
resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.0.30-alpha.3.tgz#cb55bcced75b711cc8a675284fbacaa8ebf1c0f2"
integrity sha512-rHeFVuNbSSE4fMnX6uyrM2r47m+neqFXlVNOkhHU9i7KoIcIZbEYInU8CjUFR2da3ruST9ajXjJ5UenX2+MnTg==
"@hapi/hoek@^9.0.0": "@hapi/hoek@^9.0.0":
version "9.3.0" version "9.3.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
@ -698,14 +693,6 @@
"@types/connect" "*" "@types/connect" "*"
"@types/node" "*" "@types/node" "*"
"@types/bull@^3.15.9":
version "3.15.9"
resolved "https://registry.yarnpkg.com/@types/bull/-/bull-3.15.9.tgz#e10e0901ec3762bff85716b3c580277960751c93"
integrity sha512-MPUcyPPQauAmynoO3ezHAmCOhbB0pWmYyijr/5ctaCqhbKWsjW0YCod38ZcLzUBprosfZ9dPqfYIcfdKjk7RNQ==
dependencies:
"@types/ioredis" "*"
"@types/redis" "^2.8.0"
"@types/chance@1.1.3": "@types/chance@1.1.3":
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/@types/chance/-/chance-1.1.3.tgz#d19fe9391288d60fdccd87632bfc9ab2b4523fea" resolved "https://registry.yarnpkg.com/@types/chance/-/chance-1.1.3.tgz#d19fe9391288d60fdccd87632bfc9ab2b4523fea"
@ -776,10 +763,10 @@
resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.2.tgz#7315b4c4c54f82d13fa61c228ec5c2ea5cc9e0e1" resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.2.tgz#7315b4c4c54f82d13fa61c228ec5c2ea5cc9e0e1"
integrity sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w== integrity sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==
"@types/ioredis@*", "@types/ioredis@^4.28.10": "@types/ioredis@4.28.0":
version "4.28.10" version "4.28.0"
resolved "https://registry.yarnpkg.com/@types/ioredis/-/ioredis-4.28.10.tgz#40ceb157a4141088d1394bb87c98ed09a75a06ff" resolved "https://registry.yarnpkg.com/@types/ioredis/-/ioredis-4.28.0.tgz#609b2ea0d91231df2dd7f67dd77436bc72584911"
integrity sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ== integrity sha512-HSA/JQivJgV0e+353gvgu6WVoWvGRe0HyHOnAN2AvbVIhUlJBhNnnkP8gEEokrDWrxywrBkwo8NuDZ6TVPL9XA==
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
@ -1547,7 +1534,7 @@ buffer@^5.5.0, buffer@^5.6.0:
base64-js "^1.3.1" base64-js "^1.3.1"
ieee754 "^1.1.13" ieee754 "^1.1.13"
bull@^4.10.1: bull@4.10.1:
version "4.10.1" version "4.10.1"
resolved "https://registry.yarnpkg.com/bull/-/bull-4.10.1.tgz#f14974b6089358b62b495a2cbf838aadc098e43f" resolved "https://registry.yarnpkg.com/bull/-/bull-4.10.1.tgz#f14974b6089358b62b495a2cbf838aadc098e43f"
integrity sha512-Fp21tRPb2EaZPVfmM+ONZKVz2RA+to+zGgaTLyCKt3JMSU8OOBqK8143OQrnGuGpsyE5G+9FevFAGhdZZfQP2g== integrity sha512-Fp21tRPb2EaZPVfmM+ONZKVz2RA+to+zGgaTLyCKt3JMSU8OOBqK8143OQrnGuGpsyE5G+9FevFAGhdZZfQP2g==

View File

@ -163,7 +163,7 @@
"@types/google-spreadsheet": "3.1.5", "@types/google-spreadsheet": "3.1.5",
"@types/ioredis": "4.28.10", "@types/ioredis": "4.28.10",
"@types/jest": "27.5.1", "@types/jest": "27.5.1",
"@types/koa": "2.13.5", "@types/koa": "2.13.4",
"@types/koa__router": "8.0.11", "@types/koa__router": "8.0.11",
"@types/lodash": "4.14.180", "@types/lodash": "4.14.180",
"@types/node": "14.18.20", "@types/node": "14.18.20",

View File

@ -35,9 +35,9 @@ async function getAllDocType(db, docType) {
} }
exports.exportApps = async ctx => { exports.exportApps = async ctx => {
// if (env.SELF_HOSTED || !env.MULTI_TENANCY) { if (env.SELF_HOSTED || !env.MULTI_TENANCY) {
// ctx.throw(400, "Exporting only allowed in multi-tenant cloud environments.") ctx.throw(400, "Exporting only allowed in multi-tenant cloud environments.")
// } }
const apps = await getAllApps({ all: true }) const apps = await getAllApps({ all: true })
const globalDBString = await sdk.backups.exportDB(getGlobalDBName(), { const globalDBString = await sdk.backups.exportDB(getGlobalDBName(), {
filter: doc => !doc._id.startsWith(DocumentType.USER), filter: doc => !doc._id.startsWith(DocumentType.USER),

View File

@ -1,13 +1,13 @@
import { default as backups } from "./app/backups" import { default as backups } from "./app/backups"
import { default as tables } from "./app/tables" import { default as tables } from "./app/tables"
const toExport = { const sdk = {
backups, backups,
tables, tables,
} }
// default export for TS // default export for TS
export default toExport export default sdk
// default export for JS // default export for JS
module.exports = toExport module.exports = sdk

View File

@ -2831,7 +2831,7 @@
dependencies: dependencies:
"@types/koa" "*" "@types/koa" "*"
"@types/koa@*": "@types/koa@*", "@types/koa@2.13.4":
version "2.13.4" version "2.13.4"
resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.13.4.tgz#10620b3f24a8027ef5cbae88b393d1b31205726b" resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.13.4.tgz#10620b3f24a8027ef5cbae88b393d1b31205726b"
integrity sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw== integrity sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw==
@ -2845,20 +2845,6 @@
"@types/koa-compose" "*" "@types/koa-compose" "*"
"@types/node" "*" "@types/node" "*"
"@types/koa@2.13.5":
version "2.13.5"
resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.13.5.tgz#64b3ca4d54e08c0062e89ec666c9f45443b21a61"
integrity sha512-HSUOdzKz3by4fnqagwthW/1w/yJspTgppyyalPVbgZf8jQWvdIXcVW5h2DGtw4zYntOaeRGx49r1hxoPWrD4aA==
dependencies:
"@types/accepts" "*"
"@types/content-disposition" "*"
"@types/cookies" "*"
"@types/http-assert" "*"
"@types/http-errors" "*"
"@types/keygrip" "*"
"@types/koa-compose" "*"
"@types/node" "*"
"@types/koa__router@8.0.11": "@types/koa__router@8.0.11":
version "8.0.11" version "8.0.11"
resolved "https://registry.yarnpkg.com/@types/koa__router/-/koa__router-8.0.11.tgz#d7b37e6db934fc072ea1baa2ab92bc8ac4564f3e" resolved "https://registry.yarnpkg.com/@types/koa__router/-/koa__router-8.0.11.tgz#d7b37e6db934fc072ea1baa2ab92bc8ac4564f3e"

View File

@ -1 +0,0 @@
export * from "./db"

View File

@ -1,6 +1,6 @@
import { BaseEvent } from "./event" import { BaseEvent } from "./event"
export interface AppBackupRevertEvent extends BaseEvent { export interface AppBackupRestoreEvent extends BaseEvent {
appId: string appId: string
backupName: string backupName: string
backupCreatedAt: string backupCreatedAt: string

View File

@ -8,3 +8,4 @@ export * from "./search"
export * from "./koa" export * from "./koa"
export * from "./auth" export * from "./auth"
export * from "./locks" export * from "./locks"
export * from "./db"

View File

@ -79,9 +79,6 @@ export const paginatedUsers = async ({
} else if (email) { } else if (email) {
userList = await usersCore.searchGlobalUsersByEmail(email, opts) userList = await usersCore.searchGlobalUsersByEmail(email, opts)
property = "email" property = "email"
}
if (userIds) {
// TODO: search users by userIds
} else { } else {
// no search, query allDocs // no search, query allDocs
const response = await db.allDocs(dbUtils.getGlobalUserParams(null, opts)) const response = await db.allDocs(dbUtils.getGlobalUserParams(null, opts))