zapishis-client/packages/graphql/operations/subscriptions.graphql
vchikalkin 81e223c69b feat(subscriptions): add trial subscription functionality
- Implemented `createTrialSubscription` action in the API for initiating trial subscriptions.
- Enhanced the Pro page to include a `TryFreeButton` for users to activate their trial.
- Updated GraphQL operations and types to support trial subscription features.
- Improved subscription messaging and user experience across relevant components.
2025-09-07 16:57:45 +03:00

94 lines
1.9 KiB
GraphQL

fragment SubscriptionFields on Subscription {
documentId
isActive
expiresAt
autoRenew
customer {
...CustomerFields
}
subscriptionHistories {
...SubscriptionHistoryFields
}
}
fragment SubscriptionHistoryFields on SubscriptionHistory {
documentId
period
startDate
endDate
amount
currency
state
paymentId
source
description
}
fragment SubscriptionSettingFields on SubscriptionSetting {
documentId
maxOrdersPerMonth
referralRewardDays
referralBonusDays
}
fragment SubscriptionPriceFields on SubscriptionPrice {
documentId
period
days
price
currency
isActive
description
}
query GetSubscription($telegramId: Long) {
subscriptions(filters: { customer: { telegramId: { eq: $telegramId } } }) {
...SubscriptionFields
}
}
query getSubscriptionSettings {
subscriptionSetting {
...SubscriptionSettingFields
}
}
query GetSubscriptionPrices($isActive: Boolean) {
subscriptionPrices(filters: { isActive: { eq: $isActive } }, sort: "price:asc") {
...SubscriptionPriceFields
}
}
query GetSubscriptionHistory($subscriptionId: ID!) {
subscriptionHistories(
filters: { subscription: { documentId: { eq: $subscriptionId } } }
sort: "startDate:desc"
) {
...SubscriptionHistoryFields
}
}
mutation CreateSubscription($input: SubscriptionInput!) {
createSubscription(data: $input) {
...SubscriptionFields
}
}
mutation UpdateSubscription($documentId: ID!, $data: SubscriptionInput!) {
updateSubscription(documentId: $documentId, data: $data) {
...SubscriptionFields
}
}
mutation CreateSubscriptionHistory($input: SubscriptionHistoryInput!) {
createSubscriptionHistory(data: $input) {
...SubscriptionHistoryFields
}
}
mutation UpdateSubscriptionHistory($documentId: ID!, $data: SubscriptionHistoryInput!) {
updateSubscriptionHistory(documentId: $documentId, data: $data) {
...SubscriptionHistoryFields
}
}