vchikalkin 7fcf55abda Enhance subscription management and configuration settings
- Added new query time-to-live settings for `GetSlotsOrders`, `GetSubscriptionPrices`, and `GetSubscriptions` to improve caching strategy.
- Implemented `hasTrialSubscription` method in `SubscriptionsService` to check for trial subscriptions based on user history, enhancing subscription management capabilities.
- Updated GraphQL operations to reflect the change from `getSubscriptionSettings` to `GetSubscriptionSettings`, ensuring consistency in naming conventions.
2025-10-06 22:21:23 +03:00

102 lines
1.9 KiB
GraphQL

fragment SubscriptionFields on Subscription {
documentId
active
expiresAt
nextSubscription {
documentId
}
}
fragment SubscriptionHistoryFields on SubscriptionHistory {
documentId
period
amount
currency
state
paymentId
source
description
subscription {
...SubscriptionFields
}
}
fragment SubscriptionSettingFields on SubscriptionSetting {
documentId
maxOrdersPerMonth
referralRewardDays
proEnabled
}
fragment SubscriptionPriceFields on SubscriptionPrice {
documentId
period
days
amount
currency
active
description
}
fragment SubscriptionRewardFields on SubscriptionReward {
documentId
days
expiresAt
activated
description
owner {
...CustomerFields
}
invited {
...CustomerFields
}
}
query GetSubscriptions($filters: SubscriptionFiltersInput) {
subscriptions(filters: $filters) {
...SubscriptionFields
}
}
query GetSubscriptionSettings {
subscriptionSetting {
...SubscriptionSettingFields
}
}
query GetSubscriptionPrices($filters: SubscriptionPriceFiltersInput) {
subscriptionPrices(filters: $filters, sort: "amount:asc") {
...SubscriptionPriceFields
}
}
query GetSubscriptionHistory($filters: SubscriptionHistoryFiltersInput) {
subscriptionHistories(filters: $filters) {
...SubscriptionHistoryFields
}
}
mutation CreateSubscription($data: SubscriptionInput!) {
createSubscription(data: $data) {
...SubscriptionFields
}
}
mutation UpdateSubscription($documentId: ID!, $data: SubscriptionInput!) {
updateSubscription(documentId: $documentId, data: $data) {
...SubscriptionFields
}
}
mutation CreateSubscriptionHistory($data: SubscriptionHistoryInput!) {
createSubscriptionHistory(data: $data) {
...SubscriptionHistoryFields
}
}
mutation UpdateSubscriptionHistory($documentId: ID!, $data: SubscriptionHistoryInput!) {
updateSubscriptionHistory(documentId: $documentId, data: $data) {
...SubscriptionHistoryFields
}
}