feat(profile): add counterparty card with dadata search and cart gating

This commit is contained in:
Ruslan Bakiev
2026-04-02 16:47:27 +07:00
parent f4a4b41dd5
commit d72de0f8c3
10 changed files with 879 additions and 41 deletions

View File

@@ -74,6 +74,28 @@ export type ConnectMessengerInput = {
type: MessengerType;
};
export type CounterpartyProfile = {
__typename?: 'CounterpartyProfile';
bankName: Scalars['String']['output'];
bik: Scalars['String']['output'];
checkingAccount: Scalars['String']['output'];
companyFullName: Scalars['String']['output'];
companyName: Scalars['String']['output'];
correspondentAccount: Scalars['String']['output'];
createdAt: Scalars['DateTime']['output'];
id: Scalars['ID']['output'];
inn: Scalars['String']['output'];
isComplete: Scalars['Boolean']['output'];
kpp?: Maybe<Scalars['String']['output']>;
legalAddress: Scalars['String']['output'];
ogrn?: Maybe<Scalars['String']['output']>;
signerBasis: Scalars['String']['output'];
signerFullName: Scalars['String']['output'];
signerPosition: Scalars['String']['output'];
updatedAt: Scalars['DateTime']['output'];
userId: Scalars['ID']['output'];
};
export type CreateInvitationInput = {
companyName: Scalars['String']['input'];
email: Scalars['String']['input'];
@@ -153,6 +175,7 @@ export type Mutation = {
startOrderWork: Order;
submitCalculationOrder: Order;
submitReadyOrder: Order;
upsertMyCounterpartyProfile: CounterpartyProfile;
verifyLoginCode: AuthSession;
};
@@ -261,6 +284,11 @@ export type MutationSubmitReadyOrderArgs = {
};
export type MutationUpsertMyCounterpartyProfileArgs = {
input: UpsertMyCounterpartyProfileInput;
};
export type MutationVerifyLoginCodeArgs = {
input: VerifyLoginCodeInput;
};
@@ -354,6 +382,7 @@ export type Query = {
managerNotificationHistory: Array<NotificationHistoryItem>;
managerOrders: Array<Order>;
me?: Maybe<User>;
myCounterpartyProfile?: Maybe<CounterpartyProfile>;
myCurrentOrders: Array<Order>;
myMessengerConnections: Array<MessengerConnection>;
myNotificationHistory: Array<NotificationHistoryItem>;
@@ -484,6 +513,22 @@ export type SubmitReadyOrderInput = {
items: Array<ReadyOrderItemInput>;
};
export type UpsertMyCounterpartyProfileInput = {
bankName: Scalars['String']['input'];
bik: Scalars['String']['input'];
checkingAccount: Scalars['String']['input'];
companyFullName: Scalars['String']['input'];
companyName: Scalars['String']['input'];
correspondentAccount: Scalars['String']['input'];
inn: Scalars['String']['input'];
kpp?: InputMaybe<Scalars['String']['input']>;
legalAddress: Scalars['String']['input'];
ogrn?: InputMaybe<Scalars['String']['input']>;
signerBasis: Scalars['String']['input'];
signerFullName: Scalars['String']['input'];
signerPosition: Scalars['String']['input'];
};
export type User = {
__typename?: 'User';
company?: Maybe<Company>;
@@ -615,6 +660,18 @@ export type ConnectMessengerMutationVariables = Exact<{
export type ConnectMessengerMutation = { __typename?: 'Mutation', connectMessenger: { __typename?: 'MessengerConnection', id: string, type: MessengerType, channelId: string, isActive: boolean } };
export type MyCounterpartyProfileQueryVariables = Exact<{ [key: string]: never; }>;
export type MyCounterpartyProfileQuery = { __typename?: 'Query', myCounterpartyProfile?: { __typename?: 'CounterpartyProfile', id: string, companyName: string, companyFullName: string, inn: string, kpp?: string | null, ogrn?: string | null, legalAddress: string, bankName: string, bik: string, correspondentAccount: string, checkingAccount: string, signerFullName: string, signerPosition: string, signerBasis: string, isComplete: boolean, updatedAt: any } | null };
export type UpsertMyCounterpartyProfileMutationVariables = Exact<{
input: UpsertMyCounterpartyProfileInput;
}>;
export type UpsertMyCounterpartyProfileMutation = { __typename?: 'Mutation', upsertMyCounterpartyProfile: { __typename?: 'CounterpartyProfile', id: string, companyName: string, companyFullName: string, inn: string, kpp?: string | null, ogrn?: string | null, legalAddress: string, bankName: string, bik: string, correspondentAccount: string, checkingAccount: string, signerFullName: string, signerPosition: string, signerBasis: string, isComplete: boolean, updatedAt: any } };
export const ConsumeLoginTokenDocument = gql`
mutation ConsumeLoginToken($token: String!) {
@@ -1130,4 +1187,90 @@ export const ConnectMessengerDocument = gql`
export function useConnectMessengerMutation(options: VueApolloComposable.UseMutationOptions<ConnectMessengerMutation, ConnectMessengerMutationVariables> | ReactiveFunction<VueApolloComposable.UseMutationOptions<ConnectMessengerMutation, ConnectMessengerMutationVariables>> = {}) {
return VueApolloComposable.useMutation<ConnectMessengerMutation, ConnectMessengerMutationVariables>(ConnectMessengerDocument, options);
}
export type ConnectMessengerMutationCompositionFunctionResult = VueApolloComposable.UseMutationReturn<ConnectMessengerMutation, ConnectMessengerMutationVariables>;
export type ConnectMessengerMutationCompositionFunctionResult = VueApolloComposable.UseMutationReturn<ConnectMessengerMutation, ConnectMessengerMutationVariables>;
export const MyCounterpartyProfileDocument = gql`
query MyCounterpartyProfile {
myCounterpartyProfile {
id
companyName
companyFullName
inn
kpp
ogrn
legalAddress
bankName
bik
correspondentAccount
checkingAccount
signerFullName
signerPosition
signerBasis
isComplete
updatedAt
}
}
`;
/**
* __useMyCounterpartyProfileQuery__
*
* To run a query within a Vue component, call `useMyCounterpartyProfileQuery` and pass it any options that fit your needs.
* When your component renders, `useMyCounterpartyProfileQuery` returns an object from Apollo Client that contains result, loading and error properties
* you can use to render your UI.
*
* @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 } = useMyCounterpartyProfileQuery();
*/
export function useMyCounterpartyProfileQuery(options: VueApolloComposable.UseQueryOptions<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables> | VueCompositionApi.Ref<VueApolloComposable.UseQueryOptions<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables>> | ReactiveFunction<VueApolloComposable.UseQueryOptions<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables>> = {}) {
return VueApolloComposable.useQuery<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables>(MyCounterpartyProfileDocument, {}, options);
}
export function useMyCounterpartyProfileLazyQuery(options: VueApolloComposable.UseQueryOptions<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables> | VueCompositionApi.Ref<VueApolloComposable.UseQueryOptions<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables>> | ReactiveFunction<VueApolloComposable.UseQueryOptions<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables>> = {}) {
return VueApolloComposable.useLazyQuery<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables>(MyCounterpartyProfileDocument, {}, options);
}
export type MyCounterpartyProfileQueryCompositionFunctionResult = VueApolloComposable.UseQueryReturn<MyCounterpartyProfileQuery, MyCounterpartyProfileQueryVariables>;
export const UpsertMyCounterpartyProfileDocument = gql`
mutation UpsertMyCounterpartyProfile($input: UpsertMyCounterpartyProfileInput!) {
upsertMyCounterpartyProfile(input: $input) {
id
companyName
companyFullName
inn
kpp
ogrn
legalAddress
bankName
bik
correspondentAccount
checkingAccount
signerFullName
signerPosition
signerBasis
isComplete
updatedAt
}
}
`;
/**
* __useUpsertMyCounterpartyProfileMutation__
*
* To run a mutation, you first call `useUpsertMyCounterpartyProfileMutation` within a Vue component and pass it any options that fit your needs.
* When your component renders, `useUpsertMyCounterpartyProfileMutation` returns an object that includes:
* - A mutate function that you can call at any time to execute the mutation
* - Several other properties: https://v4.apollo.vuejs.org/api/use-mutation.html#return
*
* @param options that will be passed into the mutation, supported options are listed on: https://v4.apollo.vuejs.org/guide-composable/mutation.html#options;
*
* @example
* const { mutate, loading, error, onDone } = useUpsertMyCounterpartyProfileMutation({
* variables: {
* input: // value for 'input'
* },
* });
*/
export function useUpsertMyCounterpartyProfileMutation(options: VueApolloComposable.UseMutationOptions<UpsertMyCounterpartyProfileMutation, UpsertMyCounterpartyProfileMutationVariables> | ReactiveFunction<VueApolloComposable.UseMutationOptions<UpsertMyCounterpartyProfileMutation, UpsertMyCounterpartyProfileMutationVariables>> = {}) {
return VueApolloComposable.useMutation<UpsertMyCounterpartyProfileMutation, UpsertMyCounterpartyProfileMutationVariables>(UpsertMyCounterpartyProfileDocument, options);
}
export type UpsertMyCounterpartyProfileMutationCompositionFunctionResult = VueApolloComposable.UseMutationReturn<UpsertMyCounterpartyProfileMutation, UpsertMyCounterpartyProfileMutationVariables>;