Skip to content

Commit fab7c84

Browse files
authored
Release v1.51.2 (#1181)
## Changes Fixed issue with Tiles v2 where numeric comparisons are not properly implemented.
2 parents 254ec04 + cedc621 commit fab7c84

25 files changed

+1318
-616
lines changed

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,5 +109,5 @@
109109
"tsconfig-paths": "^4.2.0",
110110
"type-fest": "4.10.3"
111111
},
112-
"version": "1.51.1"
112+
"version": "1.51.2"
113113
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { AdminMutationResolvers } from '@/graphql/__generated__/types.generated'
2+
3+
import pauseGroup from './pause-group'
4+
import resumeGroup from './resume-group'
5+
6+
export default {
7+
pauseGroup,
8+
resumeGroup,
9+
} satisfies AdminMutationResolvers
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { actionQueuesByName } from '@/queues/action'
2+
3+
import type { AdminMutationResolvers } from '../../__generated__/types.generated'
4+
5+
const pauseGroup: AdminMutationResolvers['pauseGroup'] = async (
6+
_parent,
7+
params,
8+
_context,
9+
) => {
10+
const {
11+
input: { groupId, appKey },
12+
} = params
13+
14+
const queueName = `{app-actions-${appKey}}`
15+
const queue = actionQueuesByName[queueName]
16+
17+
if (!queue) {
18+
throw new Error(`Queue ${queueName} not found`)
19+
}
20+
21+
return queue.pauseGroup(groupId)
22+
}
23+
24+
export default pauseGroup
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { actionQueuesByName } from '@/queues/action'
2+
3+
import type { AdminMutationResolvers } from '../../__generated__/types.generated'
4+
5+
const resumeGroup: AdminMutationResolvers['resumeGroup'] = async (
6+
_parent,
7+
params,
8+
_context,
9+
) => {
10+
const {
11+
input: { groupId, appKey },
12+
} = params
13+
14+
const queueName = `{app-actions-${appKey}}`
15+
const queue = actionQueuesByName[queueName]
16+
17+
if (!queue) {
18+
throw new Error(`Queue ${queueName} not found`)
19+
}
20+
21+
return queue.resumeGroup(groupId)
22+
}
23+
24+
export default resumeGroup
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { GroupStatus } from '@taskforcesh/bullmq-pro'
2+
3+
import { actionQueuesByName } from '@/queues/action'
4+
5+
import type { AdminQueryResolvers } from '../../__generated__/types.generated'
6+
7+
const getPausedGroups: AdminQueryResolvers['getPausedGroups'] = async (
8+
_parent,
9+
params,
10+
_context,
11+
) => {
12+
const { appKey } = params
13+
const queueName = `{app-actions-${appKey}}`
14+
const queue = actionQueuesByName[queueName]
15+
16+
if (!queue) {
17+
throw new Error(`Queue ${queueName} not found`)
18+
}
19+
20+
const pausedGroups = await queue.getGroupsByStatus(GroupStatus.Paused)
21+
return pausedGroups.map((group) => group.id)
22+
}
23+
24+
export default getPausedGroups

packages/backend/src/graphql/admin/queries/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { AdminQueryResolvers } from '../../__generated__/types.generated'
22

33
import getExecutionOwner from './get-execution-owner'
44
import getFlowOwner from './get-flow-owner'
5+
import getPausedGroups from './get-paused-groups'
56
import getTableOwner from './get-table-owner'
67
import searchUsersByEmail from './search-users-by-email'
78

@@ -10,4 +11,5 @@ export default {
1011
getFlowOwner,
1112
getTableOwner,
1213
searchUsersByEmail,
14+
getPausedGroups,
1315
} satisfies AdminQueryResolvers

packages/backend/src/graphql/mutation-resolvers.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,9 @@ export default {
8484
deleteUploadedFile,
8585
generatePresignedUrl,
8686
...tilesMutationResolvers,
87+
88+
// This is a special stub that enables us to group all our admin-related
89+
// mutations into a special AdminMutation object; each "mutation" is handled by field
90+
// resolvers defined in @/graphql/admin/mutations.
91+
admin: () => ({}),
8792
} satisfies MutationResolvers

packages/backend/src/graphql/resolvers.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { Resolvers } from './__generated__/types.generated'
2+
import adminMutationResolvers from './admin/mutations'
23
import adminQueryResolvers from './admin/queries'
34
import customResolvers from './custom-resolvers'
45
import mutationResolvers from './mutation-resolvers'
@@ -8,5 +9,6 @@ export default {
89
Query: queryResolvers,
910
Mutation: mutationResolvers,
1011
AdminQuery: adminQueryResolvers,
12+
AdminMutation: adminMutationResolvers,
1113
...customResolvers,
1214
} satisfies Resolvers

packages/backend/src/graphql/schema.graphql

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,10 @@ type AdminQuery {
6060
getExecutionOwner(executionId: String!): User
6161
getTableOwner(tableId: String!): User
6262
searchUsersByEmail(query: String!): [User!]!
63+
getPausedGroups(appKey: String!): [String!]!
6364
}
6465

66+
6567
type Mutation {
6668
createConnection(input: CreateConnectionInput): Connection
6769
generateAuthUrl(input: GenerateAuthUrlInput): AuthLink
@@ -117,6 +119,14 @@ type Mutation {
117119
# Flow transfers
118120
createFlowTransfer(input: CreateFlowTransferInput!): FlowTransfer!
119121
updateFlowTransferStatus(input: UpdateFlowTransferStatusInput): FlowTransfer!
122+
# Admin mutations
123+
admin: AdminMutation!
124+
}
125+
126+
127+
type AdminMutation {
128+
pauseGroup(input: PauseGroupInput!): Boolean
129+
resumeGroup(input: ResumeGroupInput!): Boolean
120130
}
121131

122132
"""
@@ -986,6 +996,20 @@ enum TemplateTagType {
986996

987997
# End of template types
988998

999+
# Start of admin types
1000+
1001+
input PauseGroupInput {
1002+
groupId: String!
1003+
appKey: String!
1004+
}
1005+
1006+
input ResumeGroupInput {
1007+
groupId: String!
1008+
appKey: String!
1009+
}
1010+
1011+
# End of admin types
1012+
9891013
schema {
9901014
query: Query
9911015
mutation: Mutation

0 commit comments

Comments
 (0)