mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Merge pull request #1675 from omnivore-app/fix/subscriptions
Fix error of getting subscriptions without newsletter email by inner join them
This commit is contained in:
commit
1006515eec
3 changed files with 20 additions and 14 deletions
|
|
@ -50,13 +50,15 @@ export const subscriptionsResolver = authorized<
|
|||
}
|
||||
}
|
||||
|
||||
const subscriptions = await getRepository(Subscription).find({
|
||||
where: { user: { id: uid }, status: SubscriptionStatus.Active },
|
||||
order: {
|
||||
[sortBy]: sortOrder,
|
||||
},
|
||||
relations: ['newsletterEmail'],
|
||||
})
|
||||
const subscriptions = await getRepository(Subscription)
|
||||
.createQueryBuilder('subscription')
|
||||
.innerJoinAndSelect('subscription.newsletterEmail', 'newsletterEmail')
|
||||
.where({
|
||||
user: { id: uid },
|
||||
status: SubscriptionStatus.Active,
|
||||
})
|
||||
.orderBy('subscription.' + sortBy, sortOrder)
|
||||
.getMany()
|
||||
|
||||
return {
|
||||
subscriptions: subscriptions.map((s) => ({
|
||||
|
|
|
|||
|
|
@ -197,15 +197,16 @@ export const createTestLabel = async (
|
|||
export const createTestSubscription = async (
|
||||
user: User,
|
||||
name: string,
|
||||
newsletterEmail: NewsletterEmail,
|
||||
newsletterEmail?: NewsletterEmail,
|
||||
status = SubscriptionStatus.Active
|
||||
): Promise<Subscription> => {
|
||||
return getRepository(Subscription).save({
|
||||
user,
|
||||
name,
|
||||
status,
|
||||
newsletterEmail: { id: newsletterEmail.id },
|
||||
})
|
||||
const subscription = new Subscription()
|
||||
subscription.user = user
|
||||
subscription.name = name
|
||||
newsletterEmail && (subscription.newsletterEmail = newsletterEmail)
|
||||
subscription.status = status
|
||||
|
||||
return getRepository(Subscription).save(subscription)
|
||||
}
|
||||
|
||||
export const deleteTestLabels = async (
|
||||
|
|
|
|||
|
|
@ -32,12 +32,15 @@ describe('Subscriptions API', () => {
|
|||
// create testing subscriptions
|
||||
const sub1 = await createTestSubscription(user, 'sub_1', newsletterEmail)
|
||||
const sub2 = await createTestSubscription(user, 'sub_2', newsletterEmail)
|
||||
// create a unsubscribed subscription
|
||||
await createTestSubscription(
|
||||
user,
|
||||
'sub_3',
|
||||
newsletterEmail,
|
||||
SubscriptionStatus.Unsubscribed
|
||||
)
|
||||
// create a subscription without a newsletter email
|
||||
await createTestSubscription(user, 'sub_4')
|
||||
subscriptions = [sub2, sub1]
|
||||
})
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue