Add manager bonus account pages

This commit is contained in:
Ruslan Bakiev
2026-04-06 10:58:27 +07:00
parent 714d0cc9b7
commit fa0648c71b
6 changed files with 425 additions and 27 deletions

View File

@@ -176,6 +176,22 @@ export enum LoginChannel {
Telegram = 'TELEGRAM'
}
export type ManagerBonusAccount = {
__typename?: 'ManagerBonusAccount';
balance: Scalars['Float']['output'];
companyName?: Maybe<Scalars['String']['output']>;
earnedAmount: Scalars['Float']['output'];
email: Scalars['String']['output'];
fullName: Scalars['String']['output'];
pendingWithdrawalAmount: Scalars['Float']['output'];
pendingWithdrawals: Array<RewardWithdrawalRequest>;
referralLinks: Array<ManagerReferralLink>;
referralsCount: Scalars['Int']['output'];
transactions: Array<BonusTransaction>;
transactionsCount: Scalars['Int']['output'];
userId: Scalars['ID']['output'];
};
export type ManagerBonusBalance = {
__typename?: 'ManagerBonusBalance';
balance: Scalars['Float']['output'];
@@ -541,6 +557,7 @@ export type Query = {
__typename?: 'Query';
clientProducts: Array<Product>;
healthcheck: Scalars['String']['output'];
managerBonusAccount: ManagerBonusAccount;
managerBonusBalances: Array<ManagerBonusBalance>;
managerNotificationHistory: Array<NotificationHistoryItem>;
managerOrders: Array<Order>;
@@ -561,6 +578,11 @@ export type Query = {
};
export type QueryManagerBonusAccountArgs = {
userId: Scalars['ID']['input'];
};
export type QueryManagerNotificationHistoryArgs = {
channel: MessengerType;
limit?: InputMaybe<Scalars['Int']['input']>;
@@ -862,6 +884,13 @@ export type CreateReferralMutationVariables = Exact<{
export type CreateReferralMutation = { __typename?: 'Mutation', createReferral: { __typename?: 'ReferralLink', id: string, referrerId: string, refereeId: string, createdById: string, bonusPercent: number, createdAt: any } };
export type ManagerBonusAccountQueryVariables = Exact<{
userId: Scalars['ID']['input'];
}>;
export type ManagerBonusAccountQuery = { __typename?: 'Query', managerBonusAccount: { __typename?: 'ManagerBonusAccount', userId: string, email: string, fullName: string, companyName?: string | null, balance: number, earnedAmount: number, pendingWithdrawalAmount: number, transactionsCount: number, referralsCount: number, referralLinks: Array<{ __typename?: 'ManagerReferralLink', id: string, referrerId: string, referrerName: string, referrerEmail: string, referrerCompanyName?: string | null, refereeId: string, refereeName: string, refereeEmail: string, refereeCompanyName?: string | null, createdById: string, bonusPercent: number, createdAt: any }>, transactions: Array<{ __typename?: 'BonusTransaction', id: string, userId: string, amount: number, reason: string, orderId?: string | null, createdAt: any }>, pendingWithdrawals: Array<{ __typename?: 'RewardWithdrawalRequest', id: string, requesterId: string, amount: number, status: WithdrawalStatus, reviewComment?: string | null, createdAt: any, updatedAt: any }> } };
export type ManagerBonusBalancesQueryVariables = Exact<{ [key: string]: never; }>;
@@ -1679,6 +1708,75 @@ export function useCreateReferralMutation(options: VueApolloComposable.UseMutati
return VueApolloComposable.useMutation<CreateReferralMutation, CreateReferralMutationVariables>(CreateReferralDocument, options);
}
export type CreateReferralMutationCompositionFunctionResult = VueApolloComposable.UseMutationReturn<CreateReferralMutation, CreateReferralMutationVariables>;
export const ManagerBonusAccountDocument = gql`
query ManagerBonusAccount($userId: ID!) {
managerBonusAccount(userId: $userId) {
userId
email
fullName
companyName
balance
earnedAmount
pendingWithdrawalAmount
transactionsCount
referralsCount
referralLinks {
id
referrerId
referrerName
referrerEmail
referrerCompanyName
refereeId
refereeName
refereeEmail
refereeCompanyName
createdById
bonusPercent
createdAt
}
transactions {
id
userId
amount
reason
orderId
createdAt
}
pendingWithdrawals {
id
requesterId
amount
status
reviewComment
createdAt
updatedAt
}
}
}
`;
/**
* __useManagerBonusAccountQuery__
*
* To run a query within a Vue component, call `useManagerBonusAccountQuery` and pass it any options that fit your needs.
* When your component renders, `useManagerBonusAccountQuery` returns an object from Apollo Client that contains result, loading and error properties
* you can use to render your UI.
*
* @param variables that will be passed into the query
* @param options that will be passed into the query, supported options are listed on: https://v4.apollo.vuejs.org/guide-composable/query.html#options;
*
* @example
* const { result, loading, error } = useManagerBonusAccountQuery({
* userId: // value for 'userId'
* });
*/
export function useManagerBonusAccountQuery(variables: ManagerBonusAccountQueryVariables | VueCompositionApi.Ref<ManagerBonusAccountQueryVariables> | ReactiveFunction<ManagerBonusAccountQueryVariables>, options: VueApolloComposable.UseQueryOptions<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables> | VueCompositionApi.Ref<VueApolloComposable.UseQueryOptions<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables>> | ReactiveFunction<VueApolloComposable.UseQueryOptions<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables>> = {}) {
return VueApolloComposable.useQuery<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables>(ManagerBonusAccountDocument, variables, options);
}
export function useManagerBonusAccountLazyQuery(variables?: ManagerBonusAccountQueryVariables | VueCompositionApi.Ref<ManagerBonusAccountQueryVariables> | ReactiveFunction<ManagerBonusAccountQueryVariables>, options: VueApolloComposable.UseQueryOptions<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables> | VueCompositionApi.Ref<VueApolloComposable.UseQueryOptions<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables>> | ReactiveFunction<VueApolloComposable.UseQueryOptions<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables>> = {}) {
return VueApolloComposable.useLazyQuery<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables>(ManagerBonusAccountDocument, variables, options);
}
export type ManagerBonusAccountQueryCompositionFunctionResult = VueApolloComposable.UseQueryReturn<ManagerBonusAccountQuery, ManagerBonusAccountQueryVariables>;
export const ManagerBonusBalancesDocument = gql`
query ManagerBonusBalances {
managerBonusBalances {