Skip to content

Commit 448fd5d

Browse files
authored
Merge branch 'main' into feature/25-00-NC-feat-church-invites
2 parents b56fef0 + 624198c commit 448fd5d

File tree

74 files changed

+2190
-2141
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2190
-2141
lines changed

.github/workflows/autofix.ci.yml

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,8 @@ jobs:
1313
strategy:
1414
matrix:
1515
node-version: [22]
16-
services:
17-
postgres:
18-
image: postgres
19-
env:
20-
POSTGRES_PASSWORD: postgres
21-
options: >-
22-
--health-cmd pg_isready
23-
--health-interval 10s
24-
--health-timeout 5s
25-
--health-retries 5
26-
ports:
27-
- 5432:5432
16+
env:
17+
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
2818
steps:
2919
- uses: actions/checkout@v4
3020
with:
@@ -77,10 +67,18 @@ jobs:
7767
with:
7868
targets: lint
7969
args: --fix
80-
- name: type-check, extract-translations, subgraph-check
70+
- name: Type Check
71+
uses: mansagroup/nrwl-nx-action@v3
72+
with:
73+
targets: type-check
74+
- name: Extract Translations
75+
uses: mansagroup/nrwl-nx-action@v3
76+
with:
77+
targets: extract-translations
78+
- name: Subgraph Check
8179
uses: mansagroup/nrwl-nx-action@v3
8280
with:
83-
targets: type-check,extract-translations,subgraph-check
81+
targets: subgraph-check
8482
env:
8583
HIVE_TOKEN: ${{ secrets.HIVE_PROD_READ_ONLY_TOKEN }}
8684
- name: lint branch name

apis/api-gateway/infrastructure/locals.tf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ locals {
1919
desired_count = 2
2020
zone_id = var.ecs_config.zone_id
2121
alb_target_group = merge(var.ecs_config.alb_target_group, {
22-
port = local.port
22+
port = local.port
23+
health_check_interval = 5
24+
health_check_timeout = 3
25+
health_check_healthy_threshold = 2
26+
health_check_unhealthy_threshold = 2
2327
})
2428
auto_scaling = {
2529
max_capacity = 4

apis/api-gateway/schema.graphql

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,8 @@ type Mutation @join__type(graph: API_ANALYTICS) @join__type(graph: API_JOURNEYS
355355
journeyCollectionCreate(input: JourneyCollectionCreateInput!) : JourneyCollection! @join__field(graph: API_JOURNEYS)
356356
journeyCollectionUpdate(id: ID!, input: JourneyCollectionUpdateInput!) : JourneyCollection! @join__field(graph: API_JOURNEYS)
357357
journeyCollectionDelete(id: ID!) : JourneyCollection! @join__field(graph: API_JOURNEYS)
358+
journeyCustomizationFieldPublisherUpdate(journeyId: ID!, string: String!) : [JourneyCustomizationField!]! @join__field(graph: API_JOURNEYS)
359+
journeyCustomizationFieldUserUpdate(journeyId: ID!, input: [JourneyCustomizationFieldInput!]!) : [JourneyCustomizationField!]! @join__field(graph: API_JOURNEYS)
358360
journeyNotificationUpdate(input: JourneyNotificationUpdateInput!) : JourneyNotification! @join__field(graph: API_JOURNEYS)
359361
journeyProfileCreate: JourneyProfile! @join__field(graph: API_JOURNEYS)
360362
journeyProfileUpdate(input: JourneyProfileUpdateInput!) : JourneyProfile! @join__field(graph: API_JOURNEYS)
@@ -541,13 +543,17 @@ type LinkAction implements Action @join__type(graph: API_JOURNEYS) @join__imple
541543
gtmEventName: String
542544
url: String!
543545
target: String
546+
customizable: Boolean
547+
parentStepId: String
544548
}
545549

546550
type EmailAction implements Action @join__type(graph: API_JOURNEYS) @join__implements(graph: API_JOURNEYS, interface: "Action") {
547551
parentBlockId: ID!
548552
parentBlock: Block!
549553
gtmEventName: String
550554
email: String!
555+
customizable: Boolean
556+
parentStepId: String
551557
}
552558

553559
type Journey @join__type(graph: API_JOURNEYS, key: "id") @join__type(graph: API_JOURNEYS_MODERN, key: "id") {
@@ -610,6 +616,8 @@ type Journey @join__type(graph: API_JOURNEYS, key: "id") @join__type(graph: API
610616
socialNodeX: Int @join__field(graph: API_JOURNEYS)
611617
socialNodeY: Int @join__field(graph: API_JOURNEYS)
612618
fromTemplateId: String @join__field(graph: API_JOURNEYS)
619+
journeyCustomizationDescription: String @join__field(graph: API_JOURNEYS)
620+
journeyCustomizationFields: [JourneyCustomizationField!]! @join__field(graph: API_JOURNEYS)
613621
journeyTheme: JourneyTheme @join__field(graph: API_JOURNEYS)
614622
userJourneys: [UserJourney!] @join__field(graph: API_JOURNEYS)
615623
}
@@ -1730,6 +1738,14 @@ type JourneyCollection @join__type(graph: API_JOURNEYS) {
17301738
journeys: [Journey!]
17311739
}
17321740

1741+
type JourneyCustomizationField @join__type(graph: API_JOURNEYS) {
1742+
id: ID!
1743+
journeyId: ID!
1744+
key: String!
1745+
value: String
1746+
defaultValue: String
1747+
}
1748+
17331749
"""
17341750
JourneyEvent aggregates all event types. For detailed event type definitions,
17351751
see the specific event files in the event module
@@ -3387,11 +3403,15 @@ input LinkActionInput @join__type(graph: API_JOURNEYS) {
33873403
gtmEventName: String
33883404
url: String!
33893405
target: String
3406+
customizable: Boolean
3407+
parentStepId: String
33903408
}
33913409

33923410
input EmailActionInput @join__type(graph: API_JOURNEYS) {
33933411
gtmEventName: String
33943412
email: String!
3413+
customizable: Boolean
3414+
parentStepId: String
33953415
}
33963416

33973417
input BlockUpdateActionInput @join__type(graph: API_JOURNEYS) {
@@ -4247,6 +4267,12 @@ input JourneyCollectionUpdateInput @join__type(graph: API_JOURNEYS) {
42474267
journeyIds: [String!]
42484268
}
42494269

4270+
input JourneyCustomizationFieldInput @join__type(graph: API_JOURNEYS) {
4271+
id: ID!
4272+
key: String!
4273+
value: String
4274+
}
4275+
42504276
input JourneyEventsFilter @join__type(graph: API_JOURNEYS) {
42514277
typenames: [String!]
42524278
periodRangeStart: DateTime

apis/api-journeys-modern/db/schema.prisma

Lines changed: 77 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -244,67 +244,69 @@ model JourneyTag {
244244
}
245245

246246
model Journey {
247-
id String @id @default(uuid())
248-
title String
249-
languageId String
250-
description String?
251-
slug String @unique
252-
archivedAt DateTime?
253-
createdAt DateTime @default(now())
254-
deletedAt DateTime?
255-
publishedAt DateTime?
256-
trashedAt DateTime?
257-
featuredAt DateTime?
258-
status JourneyStatus
259-
seoTitle String?
260-
seoDescription String?
261-
primaryImageBlockId String? @unique
262-
creatorImageBlockId String? @unique
263-
creatorDescription String?
264-
template Boolean? @default(false)
265-
teamId String
266-
hostId String?
267-
themeMode ThemeMode? @default(light)
268-
themeName ThemeName? @default(base)
269-
updatedAt DateTime @default(now()) @updatedAt
270-
strategySlug String?
271-
plausibleToken String?
272-
website Boolean? @default(false)
273-
showShareButton Boolean? @default(false)
274-
showLikeButton Boolean? @default(false)
275-
showDislikeButton Boolean? @default(false)
276-
displayTitle String?
277-
showHosts Boolean? @default(false)
278-
showChatButtons Boolean? @default(false)
279-
showReactionButtons Boolean? @default(false)
280-
showLogo Boolean? @default(false)
281-
showMenu Boolean? @default(false)
282-
showDisplayTitle Boolean? @default(true)
283-
logoImageBlockId String? @unique
284-
menuStepBlockId String? @unique
285-
menuButtonIcon JourneyMenuButtonIcon?
286-
socialNodeX Int? @default(-240)
287-
socialNodeY Int? @default(-46)
288-
fromTemplateId String?
289-
actions Action[]
290-
blocks Block[]
291-
chatButtons ChatButton[]
292-
Event Event[]
293-
creatorImageBlock Block? @relation("CreatorImageBlock", fields: [creatorImageBlockId], references: [id])
294-
host Host? @relation(fields: [hostId], references: [id])
295-
logoImageBlock Block? @relation("LogoImageBlock", fields: [logoImageBlockId], references: [id])
296-
menuStepBlock Block? @relation("MenuStepBlock", fields: [menuStepBlockId], references: [id])
297-
primaryImageBlock Block? @relation("PrimaryImageBlock", fields: [primaryImageBlockId], references: [id])
298-
team Team @relation(fields: [teamId], references: [id])
299-
journeyCollectionJourneys JourneyCollectionJourneys[]
300-
journeyEventsExportLogs JourneyEventsExportLog[]
301-
journeyNotifications JourneyNotification[]
302-
journeyTags JourneyTag[]
303-
journeyTheme JourneyTheme?
304-
journeyVisitors JourneyVisitor[]
305-
qrCode QrCode[]
306-
userInvites UserInvite[]
307-
userJourneys UserJourney[]
247+
id String @id @default(uuid())
248+
title String
249+
languageId String
250+
description String?
251+
slug String @unique
252+
archivedAt DateTime?
253+
createdAt DateTime @default(now())
254+
deletedAt DateTime?
255+
publishedAt DateTime?
256+
trashedAt DateTime?
257+
featuredAt DateTime?
258+
status JourneyStatus
259+
seoTitle String?
260+
seoDescription String?
261+
primaryImageBlockId String? @unique
262+
creatorImageBlockId String? @unique
263+
creatorDescription String?
264+
template Boolean? @default(false)
265+
teamId String
266+
hostId String?
267+
themeMode ThemeMode? @default(light)
268+
themeName ThemeName? @default(base)
269+
updatedAt DateTime @default(now()) @updatedAt
270+
strategySlug String?
271+
plausibleToken String?
272+
website Boolean? @default(false)
273+
showShareButton Boolean? @default(false)
274+
showLikeButton Boolean? @default(false)
275+
showDislikeButton Boolean? @default(false)
276+
displayTitle String?
277+
showHosts Boolean? @default(false)
278+
showChatButtons Boolean? @default(false)
279+
showReactionButtons Boolean? @default(false)
280+
showLogo Boolean? @default(false)
281+
showMenu Boolean? @default(false)
282+
showDisplayTitle Boolean? @default(true)
283+
logoImageBlockId String? @unique
284+
menuStepBlockId String? @unique
285+
menuButtonIcon JourneyMenuButtonIcon?
286+
socialNodeX Int? @default(-240)
287+
socialNodeY Int? @default(-46)
288+
fromTemplateId String?
289+
journeyCustomizationDescription String?
290+
actions Action[]
291+
blocks Block[]
292+
chatButtons ChatButton[]
293+
Event Event[]
294+
creatorImageBlock Block? @relation("CreatorImageBlock", fields: [creatorImageBlockId], references: [id])
295+
host Host? @relation(fields: [hostId], references: [id])
296+
logoImageBlock Block? @relation("LogoImageBlock", fields: [logoImageBlockId], references: [id])
297+
menuStepBlock Block? @relation("MenuStepBlock", fields: [menuStepBlockId], references: [id])
298+
primaryImageBlock Block? @relation("PrimaryImageBlock", fields: [primaryImageBlockId], references: [id])
299+
team Team @relation(fields: [teamId], references: [id])
300+
journeyCollectionJourneys JourneyCollectionJourneys[]
301+
JourneyCustomizationField JourneyCustomizationField[]
302+
journeyEventsExportLogs JourneyEventsExportLog[]
303+
journeyNotifications JourneyNotification[]
304+
journeyTags JourneyTag[]
305+
journeyTheme JourneyTheme?
306+
journeyVisitors JourneyVisitor[]
307+
qrCode QrCode[]
308+
userInvites UserInvite[]
309+
userJourneys UserJourney[]
308310
309311
@@index([title])
310312
}
@@ -448,6 +450,8 @@ model Action {
448450
target String?
449451
email String?
450452
updatedAt DateTime @default(now()) @updatedAt
453+
customizable Boolean?
454+
parentStepId String?
451455
block Block? @relation("Block", fields: [blockId], references: [id])
452456
journey Journey? @relation(fields: [journeyId], references: [id])
453457
parentBlock Block @relation(fields: [parentBlockId], references: [id], onDelete: Cascade)
@@ -554,6 +558,18 @@ model JourneyTheme {
554558
@@index([userId])
555559
}
556560

561+
model JourneyCustomizationField {
562+
id String @id
563+
journeyId String
564+
key String
565+
value String?
566+
defaultValue String?
567+
journey Journey @relation(fields: [journeyId], references: [id], onDelete: Cascade)
568+
569+
@@unique([journeyId, key, value])
570+
@@index([journeyId])
571+
}
572+
557573
enum MessagePlatform {
558574
facebook
559575
telegram

apis/api-journeys-modern/src/__generated__/pothos-types.ts

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

apis/api-journeys-modern/src/workers/emailEvents/service/fetchEmailDetails.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ describe('fetchEmailDetails', () => {
128128
menuStepBlockId: null,
129129
socialNodeX: null,
130130
socialNodeY: null,
131-
fromTemplateId: null
131+
fromTemplateId: null,
132+
journeyCustomizationDescription: null
132133
}
133134

134135
const event: Event = {

apis/api-journeys-modern/src/workers/emailEvents/service/processUserIds.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@ describe('processUserIds', () => {
118118
menuStepBlockId: null,
119119
socialNodeX: null,
120120
socialNodeY: null,
121-
fromTemplateId: null
121+
fromTemplateId: null,
122+
journeyCustomizationDescription: null
122123
}
123124

124125
it('should return an array of user IDs when visitor interaction email is true', () => {

apis/api-journeys-modern/src/workers/emailEvents/service/service.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ const journey: JourneyWithTeamAndUserJourney = {
138138
menuStepBlockId: null,
139139
socialNodeX: null,
140140
socialNodeY: null,
141-
fromTemplateId: null
141+
fromTemplateId: null,
142+
journeyCustomizationDescription: null
142143
}
143144

144145
const event: Event = {

0 commit comments

Comments
 (0)