@coopenomics/desktop 2.2.10 → 2025.4.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env-example +6 -1
- package/.env-testnet +8 -0
- package/Dockerfile +12 -0
- package/extensions/market/install.ts +78 -0
- package/extensions/market-admin/install.ts +42 -0
- package/extensions/participant/install.ts +125 -0
- package/extensions/powerup/install.ts +20 -0
- package/extensions/soviet/install.ts +83 -0
- package/package.json +6 -5
- package/quasar.config.cjs +5 -12
- package/src/app/App.vue +44 -73
- package/src/app/layouts/default.vue +40 -0
- package/src/app/layouts/useDefaultLayoutLogic.ts +59 -0
- package/src/app/providers/routes/index.ts +19 -34
- package/src/app/styles/style.css +4 -0
- package/src/boot/init.ts +6 -0
- package/src/boot/sentry.ts +1 -2
- package/src/desktops/index.ts +0 -6
- package/src/entities/Account/model/index.ts +1 -1
- package/src/entities/Agenda/api/index.ts +20 -0
- package/src/entities/Agenda/index.ts +2 -0
- package/src/entities/Agenda/model/index.ts +2 -0
- package/src/entities/Agenda/model/store.ts +36 -0
- package/src/entities/Agenda/model/types.ts +4 -0
- package/src/entities/Branch/model/index.ts +1 -1
- package/src/entities/Desktop/api/index.ts +16 -1
- package/src/entities/Desktop/model/store.ts +112 -106
- package/src/entities/Desktop/model/types.ts +14 -1
- package/src/entities/Document/api/index.ts +24 -0
- package/src/entities/Document/index.ts +2 -0
- package/src/entities/Document/model/store.ts +117 -0
- package/src/entities/Document/model/types.ts +18 -0
- package/src/entities/Meet/api/index.ts +58 -0
- package/src/entities/Meet/index.ts +2 -0
- package/src/entities/Meet/model/store.ts +72 -0
- package/src/entities/Meet/types/index.ts +7 -0
- package/src/entities/Payment/api/index.ts +20 -0
- package/src/entities/Payment/model/index.ts +2 -0
- package/src/entities/Payment/model/store.ts +62 -0
- package/src/entities/Payment/model/types.ts +7 -0
- package/src/entities/Session/model/store.ts +3 -3
- package/src/entities/System/model/store.ts +1 -1
- package/src/entities/User/model/stores.ts +3 -1
- package/src/entities/Wallet/api/index.ts +15 -33
- package/src/entities/Wallet/model/stores.ts +3 -23
- package/src/entities/Wallet/model/types.ts +2 -3
- package/src/features/Agreementer/SignAgreementDialog/ui/SignAgreementDialog.vue +1 -1
- package/src/features/Branch/SelectBranch/index.ts +2 -0
- package/src/features/Branch/SelectBranch/ui/SelectBranchOverlay.vue +52 -105
- package/src/features/Decision/CreateProject/ui/CreateProjectFreeDecisionButton.vue +1 -1
- package/src/features/Decision/ParticipantApplication/model/index.ts +38 -0
- package/src/features/FreeDecision/CreateProject/model/index.ts +92 -0
- package/src/features/FreeDecision/CreateProject/ui/CreateProjectFreeDecisionButton.vue +51 -0
- package/src/features/FreeDecision/CreateProject/ui/index.ts +1 -0
- package/src/features/FreeDecision/GenerateDecision/index.ts +1 -0
- package/src/features/FreeDecision/GenerateDecision/model/index.ts +36 -0
- package/src/features/FreeDecision/index.ts +2 -0
- package/src/features/Meet/CloseMeetWithDecision/index.ts +1 -0
- package/src/features/Meet/CloseMeetWithDecision/model/index.ts +92 -0
- package/src/features/Meet/CreateMeet/index.ts +2 -0
- package/src/features/Meet/CreateMeet/model/index.ts +65 -0
- package/src/features/Meet/CreateMeet/ui/CreateMeet.vue +34 -0
- package/src/features/Meet/CreateMeet/ui/CreateMeetForm.vue +136 -0
- package/src/features/Meet/CreateMeet/ui/index.ts +2 -0
- package/src/features/Meet/GenerateAgenda/index.ts +1 -0
- package/src/features/Meet/GenerateAgenda/model/index.ts +18 -0
- package/src/features/Meet/GenerateBallot/index.ts +1 -0
- package/src/features/Meet/GenerateBallot/model/index.ts +18 -0
- package/src/features/Meet/GenerateNotification/index.ts +1 -0
- package/src/features/Meet/GenerateNotification/model/index.ts +18 -0
- package/src/features/Meet/GenerateSovietDecision/index.ts +1 -0
- package/src/features/Meet/GenerateSovietDecision/model/index.ts +48 -0
- package/src/features/Meet/MeetDetailsManagement/index.ts +1 -0
- package/src/features/Meet/MeetDetailsManagement/model/index.ts +121 -0
- package/src/features/Meet/RestartMeet/index.ts +2 -0
- package/src/features/Meet/RestartMeet/model/index.ts +54 -0
- package/src/features/Meet/RestartMeet/ui/RestartMeet.vue +46 -0
- package/src/features/Meet/RestartMeet/ui/RestartMeetForm.vue +92 -0
- package/src/features/Meet/RestartMeet/ui/index.ts +2 -0
- package/src/features/Meet/VoteOnMeet/index.ts +1 -0
- package/src/features/Meet/VoteOnMeet/model/index.ts +18 -0
- package/src/features/Payment/SetStatus/api/index.ts +20 -0
- package/src/features/Payment/SetStatus/index.ts +1 -0
- package/src/features/Payment/SetStatus/model/index.ts +30 -0
- package/src/features/{Order → Payment}/SetStatus/ui/SetOrderPaidStatusButton/SetOrderPaidStatusButton.vue +7 -3
- package/src/features/PaymentMethod/AddPaymentMethod/model/index.ts +2 -2
- package/src/features/PaymentMethod/AddPaymentMethod/ui/AddPaymentButton.vue +1 -1
- package/src/features/PaymentMethod/DeletePaymentMethod/model/index.ts +1 -1
- package/src/features/PaymentMethod/DeletePaymentMethod/ui/DeletePaymentMethodButton.vue +3 -1
- package/src/features/Request/CancelRequest/ui/CancelButton.vue +1 -1
- package/src/features/Request/ConfirmRecieveOnRequest/ui/ConfirmRecieveOnRequest.vue +1 -1
- package/src/features/Request/CreateParentOffer/ui/CreateParentOfferForm/CreateParentOfferForm.vue +3 -5
- package/src/features/Request/CreateParentOffer/ui/ImageUploaderWithPreview/ImageUploaderWithPreview.vue +4 -3
- package/src/features/Request/DisputeOnRequest/ui/DisputeOnRequestButton.vue +1 -1
- package/src/features/Request/ModerateRequest/ui/ModerateRequestButton.vue +2 -2
- package/src/features/Request/PublishRequest/ui/PublishRequestButton.vue +1 -1
- package/src/features/Request/RecieveOnRequest/ui/RecieveOnRequestButton.vue +1 -1
- package/src/features/Request/UnpublishRequest/ui/UnpublishRequestButton.vue +1 -1
- package/src/features/Union/AddCooperative/model/index.ts +4 -5
- package/src/features/Union/AddCooperative/ui/AddCooperativeForm.vue +5 -6
- package/src/features/User/AddUser/ui/AddUserDialog/AddUserDialog.vue +4 -4
- package/src/features/User/LoginUser/model/index.ts +3 -3
- package/src/features/User/LoginUser/ui/LoginForm/LoginForm.vue +0 -6
- package/src/features/User/Logout/model/index.ts +2 -0
- package/src/features/Wallet/DepositToWallet/ui/DepositButton/DepositButton.vue +8 -7
- package/src/features/Wallet/WithdrawFromWallet/ui/withdrawButton.vue +6 -7
- package/src/pages/Blank/index.ts +1 -0
- package/src/pages/Contacts/ContactsPage.vue +64 -0
- package/src/{widgets/Cooperative/Contacts → pages/Cooperative/ChangeContacts}/ui/index.ts +0 -1
- package/src/{widgets/Cooperative/Contributions/ui/ChangeContributions.vue → pages/Cooperative/ChangeRegisterPayments/ui/ChangeRegisterPayments.vue} +10 -11
- package/src/pages/Cooperative/ChangeRegisterPayments/ui/index.ts +1 -0
- package/src/pages/Cooperative/ListOfAgenda/index.ts +1 -0
- package/src/pages/Cooperative/ListOfAgenda/ui/ListOfAgendaQuestions.vue +118 -0
- package/src/pages/Cooperative/ListOfAgenda/ui/index.ts +1 -0
- package/src/pages/Cooperative/ListOfDocuments/ListOfDocumentsPage.vue +24 -0
- package/src/pages/Cooperative/ListOfMeets/model/index.ts +1 -0
- package/src/pages/Cooperative/ListOfMeets/model/model.ts +117 -0
- package/src/pages/Cooperative/ListOfMeets/ui/ListOfMeetsPage.vue +90 -0
- package/src/pages/Cooperative/ListOfMeets/ui/index.ts +1 -0
- package/src/pages/Cooperative/ListOfOrders/index.ts +1 -1
- package/src/pages/Cooperative/ListOfOrders/ui/ListOfOrdersPage.vue +0 -4
- package/src/pages/Cooperative/ListOfParticipants/ui/ListOfParticipantsPage.vue +61 -10
- package/src/pages/Cooperative/ListOfParticipants/ui/index.ts +1 -1
- package/src/pages/Cooperative/MeetDetails/ui/MeetDetailsPage.vue +88 -0
- package/src/pages/Cooperative/MeetDetails/ui/index.ts +1 -0
- package/src/pages/Cooperative/MemberBranchList/ui/index.ts +1 -0
- package/src/pages/Cooperative/Payments/index.ts +1 -0
- package/src/pages/Cooperative/Payments/ui/PaymentsPage.vue +7 -0
- package/src/pages/{ExtStore → ExtensionStore}/ExtensionPage/ExtensionPage.vue +35 -20
- package/src/pages/{ExtStore → ExtensionStore}/ExtensionsShowcase/ExtensionsShowcase.vue +2 -2
- package/src/pages/{ExtStore → ExtensionStore}/InstalledExtensions/InstalledExtensions.vue +2 -2
- package/src/pages/Marketplace/OfferPage/ui/OfferPage.vue +1 -1
- package/src/pages/Marketplace/Showcase/ui/ShowcasePage.vue +1 -1
- package/src/pages/Marketplace/SuppliesList/ui/SuppliesListPage.vue +1 -1
- package/src/pages/Marketplace/UserParentOffers/ui/UserParentOffersPage.vue +1 -1
- package/src/pages/Marketplace/UserSuppliesList/ui/UserSuppliesListPage.vue +1 -1
- package/src/pages/PermissionDenied/index.ts +1 -0
- package/src/pages/Registrator/SignUp/EmailInput.vue +2 -3
- package/src/pages/Registrator/SignUp/GenerateAccount.vue +2 -3
- package/src/pages/Registrator/SignUp/PayInitial.vue +1 -1
- package/src/pages/Registrator/SignUp/ReadStatement.vue +2 -2
- package/src/pages/Registrator/SignUp/SelectBranch.vue +2 -2
- package/src/pages/Registrator/SignUp/SignStatement.vue +2 -2
- package/src/pages/Registrator/SignUp/SignUp.vue +5 -12
- package/src/pages/Registrator/SignUp/WaitingRegistration.vue +1 -5
- package/src/pages/Registrator/SignUp/Welcome.vue +4 -3
- package/src/pages/Union/ConnectionAgreement/index.ts +1 -0
- package/src/pages/Union/ListOfCooperatives/ui/UnionPageListOfCooperatives.vue +139 -6
- package/src/pages/User/DocumentsPage/UserDocumentsPage.vue +23 -0
- package/src/pages/User/DocumentsPage/index.ts +1 -0
- package/src/pages/User/PaymentsPage/ui/UserPayments.vue +11 -0
- package/src/pages/User/PaymentsPage/ui/index.ts +1 -0
- package/src/pages/User/ProfilePage/index.ts +1 -0
- package/src/pages/User/ProfilePage/ui/ProfilePage.vue +114 -0
- package/src/pages/User/ProfilePage/ui/index.ts +1 -0
- package/src/pages/User/SettingsPage/ui/index.ts +1 -1
- package/src/pages/User/WalletPage/index.ts +1 -0
- package/src/pages/User/WalletPage/ui/WalletPage.vue +72 -0
- package/src/pages/User/WalletPage/ui/index.ts +1 -0
- package/src/processes/init-app/index.ts +28 -0
- package/src/processes/init-installed-extensions/index.ts +25 -0
- package/src/processes/init-wallet/index.ts +40 -0
- package/src/processes/navigation-guard-setup/index.ts +45 -0
- package/src/processes/process-decisions/index.ts +275 -0
- package/src/processes/select-branch/index.ts +80 -0
- package/src/processes/watch-branch-overlay/index.ts +38 -0
- package/src/processes/watch-desktop-health/index.ts +33 -0
- package/src/shared/api/alerts.ts +2 -6
- package/src/shared/api/axios.ts +4 -5
- package/src/shared/api/client.ts +3 -4
- package/src/shared/api/eosio.ts +1 -2
- package/src/shared/api/utils.ts +1 -3
- package/src/shared/config/index.ts +0 -1
- package/src/shared/hooks/index.ts +2 -0
- package/src/shared/hooks/useAgendaPoints.ts +24 -0
- package/src/shared/hooks/useWindowSize.ts +13 -0
- package/src/shared/lib/composables/useDisplayName.ts +34 -0
- package/src/shared/lib/navigation/index.ts +2 -0
- package/src/shared/lib/navigation/routeUtils.ts +51 -0
- package/src/shared/lib/navigation/useBackButton.ts +63 -0
- package/src/shared/lib/utils/dates/validateDateWithinRange.ts +23 -0
- package/src/shared/ui/BaseDocument/BaseDocument.vue +120 -90
- package/src/{components/menu/blockchainStatus.vue → shared/ui/BlockchainStatusBar/BlockchainStatusBar.vue} +1 -0
- package/src/shared/ui/BlockchainStatusBar/index.ts +1 -0
- package/src/shared/ui/CardStyles/index.scss +61 -0
- package/src/shared/ui/ComplexDocument/ComplexDocument.vue +31 -8
- package/src/shared/ui/CopyableInput/index.ts +1 -0
- package/src/shared/ui/CopyableInput/ui/CopyableInput.vue +62 -0
- package/src/shared/ui/EditableEntrepreneurCard/EditableEntrepreneurCard.vue +9 -8
- package/src/shared/ui/EditableIndividualCard/EditableIndividualCard.vue +10 -10
- package/src/shared/ui/EditableOrganizationCard/EditableOrganizationCard.vue +57 -47
- package/src/shared/ui/Form/Form.vue +3 -1
- package/src/shared/ui/InputStyles/index.scss +29 -0
- package/src/shared/ui/TabStyles/index.scss +53 -0
- package/src/shared/ui/index.ts +1 -0
- package/src/{components/history/AccountEvents.vue → widgets/AccountActions/AccountActionsPage.vue} +2 -2
- package/src/widgets/AccountActions/index.ts +1 -0
- package/src/widgets/BankDetailsCard/ui/BankDetailsCard.vue +2 -2
- package/src/widgets/BranchCard/ui/BranchCard.vue +2 -2
- package/src/widgets/Cooperative/Documents/ListOfDocuments/ui/DocumentCard.vue +48 -0
- package/src/widgets/Cooperative/Documents/ListOfDocuments/ui/DocumentsTable.vue +162 -0
- package/src/widgets/Cooperative/Documents/ListOfDocuments/ui/ListOfDocumentsWidget.vue +77 -120
- package/src/widgets/Cooperative/Documents/ListOfDocuments/ui/index.ts +3 -1
- package/src/widgets/Cooperative/Orders/ListOfOrders/ui/ListOfOrdersWidget.vue +135 -128
- package/src/widgets/Cooperative/Orders/ListOfOrders/ui/OrderCard.vue +74 -0
- package/src/widgets/Cooperative/Orders/ListOfOrders/ui/index.ts +2 -1
- package/src/widgets/Cooperative/Payments/ListOfPayments/ui/ListOfPaymentsWidget.vue +216 -0
- package/src/widgets/Cooperative/Payments/ListOfPayments/ui/PaymentCard.vue +73 -0
- package/src/widgets/Cooperative/Payments/ListOfPayments/ui/index.ts +2 -0
- package/src/widgets/Cooperative/Payments/index.ts +1 -0
- package/src/widgets/Desktop/LeftDrawerMenu/LeftDrawerMenu.vue +3 -2
- package/src/widgets/Desktop/SecondLevelMenuList/SecondLevelMenuList.vue +58 -91
- package/src/widgets/Desktop/WorkspaceMenu/WorkspaceMenu.vue +114 -59
- package/src/widgets/{ExtStore/ExtensionCard → ExtensionCard}/ExtensionCard.vue +12 -7
- package/src/widgets/Header/BackButton/BackButton.vue +25 -0
- package/src/widgets/Header/BackButton/index.ts +1 -0
- package/src/widgets/Header/CommonHeader/CooperativeSettingsHeader.vue +34 -0
- package/src/widgets/Header/CommonHeader/ExtstoreHeader.vue +41 -0
- package/src/widgets/Header/CommonHeader/Header.vue +33 -198
- package/src/widgets/Header/CommonHeader/HeaderStyles.scss +22 -0
- package/src/widgets/Header/CommonHeader/MainHeader.vue +87 -0
- package/src/widgets/Header/CommonHeader/UserSettingsHeader.vue +29 -0
- package/src/widgets/Header/CommonHeader/index.ts +1 -1
- package/src/widgets/Header/SettingsDropdown/SettingsDropdown.vue +0 -6
- package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Base/Base.vue +1 -2
- package/src/widgets/Meets/MeetDetailsActions/MeetDetailsActions.vue +51 -0
- package/src/widgets/Meets/MeetDetailsActions/index.ts +1 -0
- package/src/widgets/Meets/MeetDetailsActions/model.ts +46 -0
- package/src/widgets/Meets/MeetDetailsAgenda/MeetDetailsAgenda.vue +29 -0
- package/src/widgets/Meets/MeetDetailsAgenda/index.ts +1 -0
- package/src/widgets/Meets/MeetDetailsHeader/MeetDetailsHeader.vue +40 -0
- package/src/widgets/Meets/MeetDetailsHeader/index.ts +1 -0
- package/src/widgets/Meets/MeetDetailsVoting/MeetDetailsVoting.vue +77 -0
- package/src/widgets/Meets/MeetDetailsVoting/index.ts +1 -0
- package/src/widgets/Meets/MeetDetailsVoting/model.ts +117 -0
- package/src/widgets/Meets/MeetInfoCard/ui/MeetInfoCard.vue +38 -0
- package/src/widgets/Meets/MeetInfoCard/ui/index.ts +1 -0
- package/src/widgets/Meets/MeetsTable/ui/MeetsTable.vue +118 -0
- package/src/widgets/Meets/MeetsTable/ui/index.ts +1 -0
- package/src/widgets/Participants/index.ts +1 -0
- package/src/widgets/Participants/ui/ParticipantCard.vue +89 -0
- package/src/widgets/Participants/ui/ParticipantDetails.vue +79 -0
- package/src/widgets/Participants/ui/ParticipantsTable.vue +129 -0
- package/src/widgets/Participants/ui/index.ts +4 -0
- package/src/widgets/Questions/index.ts +3 -0
- package/src/widgets/Questions/ui/QuestionCard/QuestionCard.vue +109 -0
- package/src/widgets/Questions/ui/QuestionCard/index.ts +1 -0
- package/src/widgets/Questions/ui/QuestionsTable/QuestionsTable.vue +177 -0
- package/src/widgets/Questions/ui/QuestionsTable/index.ts +1 -0
- package/src/widgets/Questions/ui/VotingButtons/VotingButtons.vue +75 -0
- package/src/widgets/Questions/ui/VotingButtons/index.ts +1 -0
- package/src/widgets/Questions/ui/index.ts +3 -0
- package/src/widgets/RequireAgreements/index.ts +1 -0
- package/src/widgets/User/PaymentMethods/ui/PaymentMethods.vue +81 -85
- package/tsconfig.json +1 -1
- package/extensions/powerup/boot.ts +0 -17
- package/src/app/providers/card/store.ts +0 -42
- package/src/boot/branch-selector.ts +0 -40
- package/src/boot/init-stores.ts +0 -51
- package/src/boot/navigation-guards.ts +0 -46
- package/src/components/menu/footerMobileMenu.vue +0 -79
- package/src/components/soviet/index.vue +0 -76
- package/src/components/soviet/staff.vue +0 -274
- package/src/desktops/User/index.ts +0 -1
- package/src/desktops/User/model/index.ts +0 -329
- package/src/entities/Menu/model/store.ts +0 -69
- package/src/entities/Menu/model/types.ts +0 -11
- package/src/entities/Menu/ui/index.ts +0 -1
- package/src/entities/Order/api/index.ts +0 -14
- package/src/entities/Order/model/store.ts +0 -87
- package/src/features/Order/SetStatus/api/index.ts +0 -7
- package/src/features/Order/SetStatus/model/index.ts +0 -23
- package/src/pages/Cooperative/Contacts/ui/ContactsPage.vue +0 -7
- package/src/pages/Cooperative/ListOfBranches/ui/index.ts +0 -1
- package/src/pages/Documentor/ListOfDocuments/ListOfDocumentsPage.vue +0 -12
- package/src/pages/Union/Connection/index.ts +0 -1
- package/src/pages/_layouts/blank.vue +0 -24
- package/src/pages/_layouts/default.vue +0 -79
- package/src/types/index.ts +0 -3
- package/src/widgets/Commutator/Commutator.vue +0 -7
- package/src/widgets/Commutator/index.ts +0 -1
- package/src/widgets/Cooperative/Agenda/ListOfQuestions/ui/ListOfQuestions.vue +0 -273
- package/src/widgets/Cooperative/Agenda/ListOfQuestions/ui/index.ts +0 -1
- package/src/widgets/Cooperative/Contacts/ui/Contacts.vue +0 -52
- package/src/widgets/Cooperative/Contributions/ui/index.ts +0 -1
- package/src/widgets/Cooperative/Description/ui/SetDescription.vue +0 -4
- package/src/widgets/Cooperative/Description/ui/index.ts +0 -1
- package/src/widgets/Cooperative/Participants/ListOfParticipants/ui/ListOfParticipantsWidget.vue +0 -186
- package/src/widgets/Cooperative/Participants/ListOfParticipants/ui/index.ts +0 -1
- package/src/widgets/Desktop/SecondLevelMenu/SecondLevelMenu.vue +0 -59
- package/src/widgets/Desktop/SecondLevelMenu/index.ts +0 -1
- package/src/widgets/IndividualCard/ui/IndividualCard.vue +0 -170
- package/src/widgets/IndividualCard/ui/index.ts +0 -1
- package/src/widgets/OrganizationCard/ui/OrganizationCard.vue +0 -44
- package/src/widgets/OrganizationCard/ui/index.ts +0 -1
- package/src/widgets/Union/ListOfCooperatives/ui/UnionListOfCooperatives.vue +0 -136
- package/src/widgets/Union/ListOfCooperatives/ui/index.ts +0 -1
- package/src/entities/{Menu → Document}/model/index.ts +0 -0
- package/src/entities/{Order → Meet}/model/index.ts +0 -0
- package/src/entities/{Order → Payment}/index.ts +0 -0
- package/src/features/{Order/SetStatus → Decision/ParticipantApplication}/index.ts +0 -0
- package/src/{widgets/Request/SupplyOrderRequestCard → features/FreeDecision/CreateProject}/index.ts +0 -0
- package/src/features/{Order → Payment}/SetStatus/ui/SetOrderCompletedStatusButton/SetOrderCompletedStatusButton.vue +0 -0
- package/src/features/{Order → Payment}/SetStatus/ui/SetOrderCompletedStatusButton/index.ts +0 -0
- package/src/features/{Order → Payment}/SetStatus/ui/SetOrderPaidStatusButton/index.ts +0 -0
- package/src/features/{Order → Payment}/SetStatus/ui/SetOrderRefundedStatusButton/SetOrderRefundedStatusButton.vue +0 -0
- package/src/features/{Order → Payment}/SetStatus/ui/SetOrderRefundedStatusButton/index.ts +0 -0
- package/src/pages/{blank/blank.vue → Blank/BlankPage.vue} +0 -0
- package/src/pages/{Cooperative/Contacts/ui → Contacts}/index.ts +0 -0
- package/src/pages/Cooperative/{Contacts → ChangeContacts}/index.ts +0 -0
- package/src/{widgets/Cooperative/Contacts → pages/Cooperative/ChangeContacts}/ui/ChangeContacts.vue +0 -0
- package/src/pages/Cooperative/{ListOfBranches → ChangeRegisterPayments}/index.ts +0 -0
- package/src/pages/{Documentor → Cooperative}/ListOfDocuments/index.ts +0 -0
- package/src/pages/{Installer → Cooperative/ListOfMeets}/index.ts +0 -0
- package/src/{widgets/Cooperative/Agenda/ListOfQuestions → pages/Cooperative/MeetDetails}/index.ts +0 -0
- package/src/{widgets/Cooperative/Contacts → pages/Cooperative/MemberBranchList}/index.ts +0 -0
- package/src/pages/Cooperative/{ListOfBranches/ui/ListOfBranchesPage.vue → MemberBranchList/ui/MemberBranchListPage.vue} +0 -0
- package/src/pages/{ExtStore → ExtensionStore}/BaseRoute/ExtensionStoreBase.vue +0 -0
- package/src/pages/{ExtStore → ExtensionStore}/BaseRoute/index.ts +0 -0
- package/src/pages/{ExtStore → ExtensionStore}/ExtensionPage/index.ts +0 -0
- package/src/pages/{ExtStore → ExtensionStore}/ExtensionsShowcase/index.ts +0 -0
- package/src/pages/{ExtStore → ExtensionStore}/InstalledExtensions/index.ts +0 -0
- package/src/pages/{_layouts/permissionDenied.vue → PermissionDenied/PermissionDenied.vue} +0 -0
- package/src/pages/Union/{Connection/ConnectionPage.vue → ConnectionAgreement/ConnectionAgreementPage.vue} +0 -0
- package/src/{widgets/Cooperative/Contributions → pages/Union/InstallCooperative}/index.ts +0 -0
- package/src/pages/{Installer → Union/InstallCooperative}/ui/InstallCooperativePage.vue +0 -0
- package/src/pages/{Installer → Union/InstallCooperative}/ui/index.ts +0 -0
- package/src/{widgets/Cooperative/Participants/ListOfParticipants → pages/User/PaymentsPage}/index.ts +0 -0
- package/src/{components/history → widgets/AccountActions}/AccountLink.vue +0 -0
- package/src/{components/history → widgets/AccountActions}/ActionCell.vue +0 -0
- package/src/{components/history → widgets/AccountActions}/DataCell.vue +0 -0
- package/src/widgets/{IndividualCard → Cooperative/Payments/ListOfPayments}/index.ts +0 -0
- package/src/widgets/{ExtStore/ExtensionCard → ExtensionCard}/index.ts +0 -0
- package/src/widgets/{Request → Marketplace}/CreateChildOrderCard/CreateChildOrderCard.vue +0 -0
- package/src/widgets/{Request → Marketplace}/CreateChildOrderCard/index.ts +0 -0
- package/src/widgets/{Request → Marketplace}/RequestCard/RequestCard.vue +0 -0
- package/src/widgets/{Request → Marketplace}/RequestCard/index.ts +0 -0
- package/src/{entities/Menu → widgets/Marketplace/SupplyOrderRequestCard}/index.ts +1 -1
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/model/index.ts +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/model/types.ts +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Base/index.ts +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/EightStep.vue +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/FifthStep.vue +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/FirstStep.vue +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/FourthStep.vue +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/SecondStep.vue +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/SeventhStep.vue +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/SixthStep.vue +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/ThirdStep.vue +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/Steps/index.ts +0 -0
- /package/src/widgets/{Request → Marketplace}/SupplyOrderRequestCard/ui/index.ts +0 -0
- /package/src/widgets/{OrganizationCard → Meets/MeetInfoCard}/index.ts +0 -0
- /package/src/widgets/{Union/ListOfCooperatives → Meets/MeetsTable}/index.ts +0 -0
- /package/src/widgets/{Agreementer/RequireAgreements → RequireAgreements}/ui/RequireAgreements.vue +0 -0
- /package/src/widgets/{Agreementer/RequireAgreements → RequireAgreements}/ui/index.ts +0 -0
@@ -0,0 +1,117 @@
|
|
1
|
+
import { defineStore } from 'pinia'
|
2
|
+
import { ref, type Ref } from 'vue'
|
3
|
+
import { api } from '../api'
|
4
|
+
import type { DocumentType, IGetDocuments, IPagination, IDocumentPackageAggregate } from './types'
|
5
|
+
import { FailAlert } from 'src/shared/api'
|
6
|
+
|
7
|
+
const namespace = 'documentStore'
|
8
|
+
|
9
|
+
interface IDocumentStore {
|
10
|
+
documents: Ref<IDocumentPackageAggregate[]>
|
11
|
+
loading: Ref<boolean>
|
12
|
+
documentType: Ref<DocumentType>
|
13
|
+
pagination: Ref<IPagination>
|
14
|
+
changePage: (page: number, username: string, filter: Record<string, any>, hidden?: boolean) => Promise<IDocumentPackageAggregate[]>
|
15
|
+
changeDocumentType: (type: DocumentType, username: string, filter: Record<string, any>) => Promise<void>
|
16
|
+
resetDocuments: () => void
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* Хранилище для работы с документами
|
20
|
+
*/
|
21
|
+
export const useDocumentStore = defineStore(namespace, (): IDocumentStore => {
|
22
|
+
const documents = ref<IDocumentPackageAggregate[]>([])
|
23
|
+
const loading = ref(false)
|
24
|
+
const documentType = ref<DocumentType>('newsubmitted')
|
25
|
+
|
26
|
+
// Информация о пагинации
|
27
|
+
const pagination = ref<IPagination>({
|
28
|
+
totalCount: 0,
|
29
|
+
totalPages: 0,
|
30
|
+
currentPage: 1
|
31
|
+
})
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Сброс состояния документов
|
35
|
+
*/
|
36
|
+
const resetDocuments = () => {
|
37
|
+
documents.value = []
|
38
|
+
pagination.value = {
|
39
|
+
totalCount: 0,
|
40
|
+
totalPages: 0,
|
41
|
+
currentPage: 1
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
/**
|
46
|
+
* Изменяет страницу для пагинации и загружает данные
|
47
|
+
* @param page номер страницы
|
48
|
+
* @param username имя пользователя или кооператива
|
49
|
+
* @param filter параметры фильтрации
|
50
|
+
* @param hidden флаг скрытой загрузки (без индикатора)
|
51
|
+
* @returns массив документов
|
52
|
+
*/
|
53
|
+
const changePage = async (
|
54
|
+
page: number,
|
55
|
+
username: string,
|
56
|
+
filter: Record<string, any>,
|
57
|
+
hidden = false
|
58
|
+
): Promise<IDocumentPackageAggregate[]> => {
|
59
|
+
try {
|
60
|
+
loading.value = hidden ? false : true
|
61
|
+
|
62
|
+
pagination.value.currentPage = page
|
63
|
+
|
64
|
+
const data: IGetDocuments = {
|
65
|
+
username,
|
66
|
+
filter,
|
67
|
+
type: documentType.value,
|
68
|
+
page: page,
|
69
|
+
limit: 10
|
70
|
+
}
|
71
|
+
|
72
|
+
const result = await api.loadDocuments(data)
|
73
|
+
|
74
|
+
// Если это первая страница, заменяем документы
|
75
|
+
// Иначе добавляем новые документы к существующим
|
76
|
+
if (page === 1) {
|
77
|
+
documents.value = result.items
|
78
|
+
} else {
|
79
|
+
documents.value = [...documents.value, ...result.items]
|
80
|
+
}
|
81
|
+
|
82
|
+
// Обновляем информацию о пагинации
|
83
|
+
pagination.value = {
|
84
|
+
totalCount: result.totalCount,
|
85
|
+
totalPages: result.totalPages,
|
86
|
+
currentPage: result.currentPage
|
87
|
+
}
|
88
|
+
|
89
|
+
loading.value = false
|
90
|
+
return documents.value
|
91
|
+
} catch (error: any) {
|
92
|
+
loading.value = false
|
93
|
+
console.error('Error loading documents:', error)
|
94
|
+
FailAlert(error)
|
95
|
+
return []
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
/**
|
100
|
+
* Изменяет тип документов для отображения
|
101
|
+
*/
|
102
|
+
const changeDocumentType = async (type: DocumentType, username: string, filter: Record<string, any>) => {
|
103
|
+
documentType.value = type
|
104
|
+
// Сбрасываем текущую страницу при смене типа и загружаем документы
|
105
|
+
await changePage(1, username, filter)
|
106
|
+
}
|
107
|
+
|
108
|
+
return {
|
109
|
+
documents,
|
110
|
+
loading,
|
111
|
+
documentType,
|
112
|
+
pagination,
|
113
|
+
changePage,
|
114
|
+
changeDocumentType,
|
115
|
+
resetDocuments
|
116
|
+
}
|
117
|
+
})
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { Queries, Zeus } from '@coopenomics/sdk';
|
2
|
+
|
3
|
+
export type IDocumentPackageAggregate = Zeus.ModelTypes['DocumentPackageAggregate'];
|
4
|
+
export type IDocumentAggregate = Zeus.ModelTypes['DocumentAggregate'];
|
5
|
+
export type ZGetDocumentsResult = Queries.Documents.GetDocuments.IOutput[typeof Queries.Documents.GetDocuments.name];
|
6
|
+
export type IGetDocuments = Queries.Documents.GetDocuments.IInput['data']
|
7
|
+
|
8
|
+
// Информация о пагинации
|
9
|
+
export interface IPagination {
|
10
|
+
totalCount: number;
|
11
|
+
totalPages: number;
|
12
|
+
currentPage: number;
|
13
|
+
}
|
14
|
+
|
15
|
+
// Типы документов в системе
|
16
|
+
export type DocumentType = 'newsubmitted' | 'newresolved';
|
17
|
+
|
18
|
+
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { client } from 'src/shared/api/client';
|
2
|
+
import { Queries, Mutations } from '@coopenomics/sdk';
|
3
|
+
import type { IGetMeetsInput, IGetMeetInput, ICloseMeetInput, IRestartMeetInput } from '../types';
|
4
|
+
|
5
|
+
async function loadMeets(data: IGetMeetsInput) {
|
6
|
+
const { [Queries.Meet.GetMeets.name]: output } = await client.Query(
|
7
|
+
Queries.Meet.GetMeets.query,
|
8
|
+
{
|
9
|
+
variables: {
|
10
|
+
data
|
11
|
+
}
|
12
|
+
}
|
13
|
+
);
|
14
|
+
return output;
|
15
|
+
}
|
16
|
+
|
17
|
+
async function loadMeet(data: IGetMeetInput) {
|
18
|
+
const { [Queries.Meet.GetMeet.name]: output } = await client.Query(
|
19
|
+
Queries.Meet.GetMeet.query,
|
20
|
+
{
|
21
|
+
variables: {
|
22
|
+
data
|
23
|
+
}
|
24
|
+
}
|
25
|
+
);
|
26
|
+
return output;
|
27
|
+
}
|
28
|
+
|
29
|
+
async function closeMeet(data: ICloseMeetInput) {
|
30
|
+
const { [Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.name]: output } = await client.Mutation(
|
31
|
+
Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.mutation,
|
32
|
+
{
|
33
|
+
variables: {
|
34
|
+
data
|
35
|
+
}
|
36
|
+
}
|
37
|
+
);
|
38
|
+
return output;
|
39
|
+
}
|
40
|
+
|
41
|
+
async function restartMeet(data: IRestartMeetInput) {
|
42
|
+
const { [Mutations.Meet.RestartAnnualGeneralMeet.name]: output } = await client.Mutation(
|
43
|
+
Mutations.Meet.RestartAnnualGeneralMeet.mutation,
|
44
|
+
{
|
45
|
+
variables: {
|
46
|
+
data
|
47
|
+
}
|
48
|
+
}
|
49
|
+
);
|
50
|
+
return output;
|
51
|
+
}
|
52
|
+
|
53
|
+
export const api = {
|
54
|
+
loadMeets,
|
55
|
+
loadMeet,
|
56
|
+
closeMeet,
|
57
|
+
restartMeet
|
58
|
+
}
|
@@ -0,0 +1,72 @@
|
|
1
|
+
import { defineStore } from 'pinia'
|
2
|
+
import { ref, Ref } from 'vue'
|
3
|
+
import { api } from '../api'
|
4
|
+
import type { IMeet, IGetMeetsInput, IGetMeetInput, ICloseMeetInput, IRestartMeetInput } from '../types';
|
5
|
+
|
6
|
+
const namespace = 'meetStore';
|
7
|
+
|
8
|
+
interface IMeetStore {
|
9
|
+
meets: Ref<IMeet[]>
|
10
|
+
currentMeet: Ref<IMeet | null>
|
11
|
+
loading: Ref<boolean>
|
12
|
+
loadMeets: (data: IGetMeetsInput) => Promise<IMeet[]>;
|
13
|
+
loadMeet: (data: IGetMeetInput) => Promise<IMeet>;
|
14
|
+
closeMeet: (data: ICloseMeetInput) => Promise<IMeet>;
|
15
|
+
restartMeet: (data: IRestartMeetInput) => Promise<IMeet>;
|
16
|
+
}
|
17
|
+
|
18
|
+
export const useMeetStore = defineStore(namespace, (): IMeetStore => {
|
19
|
+
const meets = ref<IMeet[]>([])
|
20
|
+
const currentMeet = ref<IMeet | null>(null)
|
21
|
+
const loading = ref<boolean>(false)
|
22
|
+
|
23
|
+
const loadMeets = async (data: IGetMeetsInput) => {
|
24
|
+
loading.value = true
|
25
|
+
try {
|
26
|
+
const result = await api.loadMeets(data);
|
27
|
+
meets.value = result;
|
28
|
+
return result;
|
29
|
+
} finally {
|
30
|
+
loading.value = false
|
31
|
+
}
|
32
|
+
};
|
33
|
+
|
34
|
+
const loadMeet = async (data: IGetMeetInput) => {
|
35
|
+
loading.value = true
|
36
|
+
try {
|
37
|
+
const result = await api.loadMeet(data);
|
38
|
+
currentMeet.value = result;
|
39
|
+
return result;
|
40
|
+
} finally {
|
41
|
+
loading.value = false
|
42
|
+
}
|
43
|
+
};
|
44
|
+
|
45
|
+
const closeMeet = async (data: ICloseMeetInput) => {
|
46
|
+
loading.value = true
|
47
|
+
try {
|
48
|
+
return await api.closeMeet(data);
|
49
|
+
} finally {
|
50
|
+
loading.value = false
|
51
|
+
}
|
52
|
+
};
|
53
|
+
|
54
|
+
const restartMeet = async (data: IRestartMeetInput) => {
|
55
|
+
loading.value = true
|
56
|
+
try {
|
57
|
+
return await api.restartMeet(data);
|
58
|
+
} finally {
|
59
|
+
loading.value = false
|
60
|
+
}
|
61
|
+
};
|
62
|
+
|
63
|
+
return {
|
64
|
+
meets,
|
65
|
+
currentMeet,
|
66
|
+
loading,
|
67
|
+
loadMeets,
|
68
|
+
loadMeet,
|
69
|
+
closeMeet,
|
70
|
+
restartMeet
|
71
|
+
}
|
72
|
+
})
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import type { Queries, Mutations } from '@coopenomics/sdk';
|
2
|
+
|
3
|
+
export type IMeet = Queries.Meet.GetMeet.IOutput[typeof Queries.Meet.GetMeet.name]
|
4
|
+
export type IGetMeetsInput = Queries.Meet.GetMeets.IInput['data']
|
5
|
+
export type IGetMeetInput = Queries.Meet.GetMeet.IInput['data']
|
6
|
+
export type ICloseMeetInput = Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.IInput['data']
|
7
|
+
export type IRestartMeetInput = Mutations.Meet.RestartAnnualGeneralMeet.IInput['data']
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { client } from 'src/shared/api/client';
|
2
|
+
import { Queries } from '@coopenomics/sdk';
|
3
|
+
import type { IGetPaymentsInputData, IGetPaymentsInputOptions, IPaymentPaginationResult } from '../model/types';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Загружает список платежей с использованием GraphQL API
|
7
|
+
*/
|
8
|
+
async function loadPayments(data?: IGetPaymentsInputData, options?: IGetPaymentsInputOptions): Promise<IPaymentPaginationResult> {
|
9
|
+
const variables: Queries.Payments.GetPayments.IInput = {data, options}
|
10
|
+
|
11
|
+
const { [Queries.Payments.GetPayments.name]: output } = await client.Query(
|
12
|
+
Queries.Payments.GetPayments.query,
|
13
|
+
{
|
14
|
+
variables
|
15
|
+
}
|
16
|
+
);
|
17
|
+
return output;
|
18
|
+
}
|
19
|
+
|
20
|
+
export const api = { loadPayments };
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { defineStore } from 'pinia';
|
2
|
+
import { Ref, ref } from 'vue';
|
3
|
+
import { api } from '../api';
|
4
|
+
import type { IGetPaymentsInputData, IGetPaymentsInputOptions, IPayment, IPaymentPaginationResult } from './types';
|
5
|
+
|
6
|
+
interface IPaymentStore {
|
7
|
+
payments: Ref<IPaymentPaginationResult | undefined>;
|
8
|
+
loadPayments: (data?: IGetPaymentsInputData, options?: IGetPaymentsInputOptions) => Promise<void>;
|
9
|
+
updatePayments: (data?: IGetPaymentsInputData, options?: IGetPaymentsInputOptions) => Promise<void>;
|
10
|
+
clear: () => void;
|
11
|
+
}
|
12
|
+
|
13
|
+
const namespace = 'payments';
|
14
|
+
|
15
|
+
export const usePaymentStore = defineStore(namespace, (): IPaymentStore => {
|
16
|
+
const payments: Ref<IPaymentPaginationResult | undefined> = ref();
|
17
|
+
|
18
|
+
const clear = () => {
|
19
|
+
payments.value = undefined;
|
20
|
+
};
|
21
|
+
|
22
|
+
// Функция для слияния массивов платежей по id
|
23
|
+
const mergePayments = (existingPayments: IPayment[], newPayments: IPayment[]) => {
|
24
|
+
const mergedPaymentsMap = new Map(existingPayments.map(payment => [payment.id, payment]));
|
25
|
+
|
26
|
+
newPayments.forEach(payment => {
|
27
|
+
mergedPaymentsMap.set(payment.id, payment); // Обновляем или добавляем новый платеж
|
28
|
+
});
|
29
|
+
|
30
|
+
return Array.from(mergedPaymentsMap.values()); // Возвращаем массив объединённых платежей
|
31
|
+
};
|
32
|
+
|
33
|
+
const updatePayments = async(data?: IGetPaymentsInputData, options?: IGetPaymentsInputOptions): Promise<void> => {
|
34
|
+
const newPaymentsResponse = await api.loadPayments(data, options);
|
35
|
+
|
36
|
+
if (payments.value) {
|
37
|
+
payments.value.items = mergePayments(payments.value.items, newPaymentsResponse.items);
|
38
|
+
} else {
|
39
|
+
payments.value = newPaymentsResponse;
|
40
|
+
}
|
41
|
+
};
|
42
|
+
|
43
|
+
// Функция для загрузки платежей
|
44
|
+
const loadPayments = async (data?: IGetPaymentsInputData, options?: IGetPaymentsInputOptions): Promise<void> => {
|
45
|
+
const newPaymentsResponse = await api.loadPayments(data, options);
|
46
|
+
|
47
|
+
if (payments.value) {
|
48
|
+
// Обновляем все свойства объекта payments
|
49
|
+
payments.value = {
|
50
|
+
...payments.value,
|
51
|
+
items: mergePayments(payments.value.items, newPaymentsResponse.items),
|
52
|
+
currentPage: newPaymentsResponse.currentPage,
|
53
|
+
totalPages: newPaymentsResponse.totalPages,
|
54
|
+
totalCount: newPaymentsResponse.totalCount
|
55
|
+
};
|
56
|
+
} else {
|
57
|
+
payments.value = newPaymentsResponse;
|
58
|
+
}
|
59
|
+
};
|
60
|
+
|
61
|
+
return { payments, loadPayments, updatePayments, clear };
|
62
|
+
});
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import type { Queries } from '@coopenomics/sdk';
|
2
|
+
|
3
|
+
export type IPaymentPaginationResult = Queries.Payments.GetPayments.IOutput[typeof Queries.Payments.GetPayments.name]
|
4
|
+
export type IPayment = IPaymentPaginationResult['items'][number]
|
5
|
+
|
6
|
+
export type IGetPaymentsInputData = Queries.Payments.GetPayments.IInput['data']
|
7
|
+
export type IGetPaymentsInputOptions = Queries.Payments.GetPayments.IInput['options']
|
@@ -4,7 +4,6 @@ import { computed, ComputedRef, Ref, ref } from 'vue';
|
|
4
4
|
import { Session } from '@wharfkit/session';
|
5
5
|
import { WalletPluginPrivateKey } from '@wharfkit/wallet-plugin-privatekey';
|
6
6
|
import { FailAlert, readBlockchain } from 'src/shared/api';
|
7
|
-
import { CHAIN_ID, CHAIN_URL } from 'src/shared/config';
|
8
7
|
import { PrivateKey, Serializer } from '@wharfkit/antelope';
|
9
8
|
import { GetInfoResult } from 'eosjs/dist/eosjs-rpc-interfaces';
|
10
9
|
|
@@ -49,6 +48,7 @@ export const useSessionStore = defineStore('session', (): ISessionStore => {
|
|
49
48
|
const close = async (): Promise<void> => {
|
50
49
|
isAuth.value = false;
|
51
50
|
session.value = undefined;
|
51
|
+
globalStore.logout()
|
52
52
|
};
|
53
53
|
|
54
54
|
const init = async () => {
|
@@ -67,8 +67,8 @@ export const useSessionStore = defineStore('session', (): ISessionStore => {
|
|
67
67
|
actor: globalStore.username,
|
68
68
|
permission: 'active',
|
69
69
|
chain: {
|
70
|
-
id: CHAIN_ID,
|
71
|
-
url: CHAIN_URL,
|
70
|
+
id: process.env.CHAIN_ID as string,
|
71
|
+
url: process.env.CHAIN_URL as string,
|
72
72
|
},
|
73
73
|
walletPlugin: new WalletPluginPrivateKey(
|
74
74
|
globalStore.wif as PrivateKey
|
@@ -12,7 +12,7 @@ interface ISystemStore {
|
|
12
12
|
|
13
13
|
export const useSystemStore = defineStore(namespace, (): ISystemStore => {
|
14
14
|
const info = ref<ISystemInfo>({} as ISystemInfo)
|
15
|
-
|
15
|
+
|
16
16
|
const loadSystemInfo = async () => {
|
17
17
|
info.value = await api.loadSystemInfo();
|
18
18
|
};
|
@@ -21,6 +21,7 @@ interface IUserStore {
|
|
21
21
|
userAccount: Ref<IUserAccountData | null>;
|
22
22
|
isRegistrationComplete: ComputedRef<boolean>;
|
23
23
|
isChairman: ComputedRef<boolean>;
|
24
|
+
isMember: ComputedRef<boolean>;
|
24
25
|
}
|
25
26
|
|
26
27
|
const namespaceCurrentUser = 'currentUser';
|
@@ -43,7 +44,8 @@ export const useCurrentUserStore = defineStore(
|
|
43
44
|
(userEntity.userAccount.value || false) &&
|
44
45
|
userEntity.participantAccount.value != null
|
45
46
|
),
|
46
|
-
isChairman: computed(() => userEntity.userAccount.value?.role === 'chairman')
|
47
|
+
isChairman: computed(() => userEntity.userAccount.value?.role === 'chairman'),
|
48
|
+
isMember: computed(() => userEntity.userAccount.value?.role === 'member'),
|
47
49
|
};
|
48
50
|
}
|
49
51
|
);
|
@@ -1,14 +1,11 @@
|
|
1
1
|
import { fetchTable, sendGET } from '../../../shared/api';
|
2
2
|
|
3
3
|
import {
|
4
|
-
ContractsList,
|
5
|
-
TablesList,
|
6
4
|
LimitsList,
|
7
5
|
SecondaryIndexesNumbers,
|
8
6
|
} from 'src/shared/config';
|
9
7
|
|
10
8
|
import {
|
11
|
-
IWalletData,
|
12
9
|
IDepositData,
|
13
10
|
IWithdrawData,
|
14
11
|
IProgramWalletData,
|
@@ -20,7 +17,6 @@ import {
|
|
20
17
|
} from '../model';
|
21
18
|
|
22
19
|
import {
|
23
|
-
ILoadSingleUserWallet,
|
24
20
|
ILoadSingleUserDeposit,
|
25
21
|
ILoadSingleUserProgramWallet,
|
26
22
|
ILoadSingleUserWithdraw,
|
@@ -28,31 +24,16 @@ import {
|
|
28
24
|
ILoadUserProgramWallets,
|
29
25
|
ILoadUserWithdraws,
|
30
26
|
} from '../model';
|
31
|
-
import { SovietContract } from 'cooptypes';
|
32
|
-
|
33
|
-
async function loadSingleUserWalletData(
|
34
|
-
params: ILoadSingleUserWallet
|
35
|
-
): Promise<IWalletData> {
|
36
|
-
return (
|
37
|
-
await fetchTable(
|
38
|
-
ContractsList.Soviet,
|
39
|
-
params.coopname,
|
40
|
-
TablesList.Wallets,
|
41
|
-
params.username,
|
42
|
-
params.username,
|
43
|
-
LimitsList.One
|
44
|
-
)
|
45
|
-
)[0] as IWalletData;
|
46
|
-
}
|
27
|
+
import { GatewayContract, SovietContract } from 'cooptypes';
|
47
28
|
|
48
29
|
async function loadSingleUserDepositData(
|
49
30
|
params: ILoadSingleUserDeposit
|
50
31
|
): Promise<IDepositData> {
|
51
32
|
return (
|
52
33
|
await fetchTable(
|
53
|
-
|
34
|
+
GatewayContract.contractName.production,
|
54
35
|
params.coopname,
|
55
|
-
|
36
|
+
GatewayContract.Tables.Incomes.tableName,
|
56
37
|
params.username,
|
57
38
|
params.username,
|
58
39
|
LimitsList.One
|
@@ -65,9 +46,9 @@ async function loadSingleUserProgramWalletData(
|
|
65
46
|
): Promise<IProgramWalletData> {
|
66
47
|
return (
|
67
48
|
await fetchTable(
|
68
|
-
|
49
|
+
SovietContract.contractName.production,
|
69
50
|
params.coopname,
|
70
|
-
|
51
|
+
SovietContract.Tables.ProgramWallets.tableName,
|
71
52
|
params.wallet_id,
|
72
53
|
params.wallet_id,
|
73
54
|
LimitsList.One
|
@@ -80,9 +61,9 @@ async function loadSingleUserWithdrawData(
|
|
80
61
|
): Promise<IWithdrawData> {
|
81
62
|
return (
|
82
63
|
await fetchTable(
|
83
|
-
|
64
|
+
GatewayContract.contractName.production,
|
84
65
|
params.coopname,
|
85
|
-
|
66
|
+
GatewayContract.Tables.Outcomes.tableName,
|
86
67
|
params.withdraw_id,
|
87
68
|
params.withdraw_id,
|
88
69
|
LimitsList.One
|
@@ -94,9 +75,9 @@ async function loadUserDepositsData(
|
|
94
75
|
params: ILoadUserDeposits
|
95
76
|
): Promise<IDepositData[]> {
|
96
77
|
return (await fetchTable(
|
97
|
-
|
78
|
+
GatewayContract.contractName.production,
|
98
79
|
params.coopname,
|
99
|
-
|
80
|
+
GatewayContract.Tables.Incomes.tableName,
|
100
81
|
params.username,
|
101
82
|
params.username,
|
102
83
|
LimitsList.None,
|
@@ -108,9 +89,9 @@ async function loadUserWithdrawsData(
|
|
108
89
|
params: ILoadUserWithdraws
|
109
90
|
): Promise<IWithdrawData[]> {
|
110
91
|
return (await fetchTable(
|
111
|
-
|
92
|
+
GatewayContract.contractName.production,
|
112
93
|
params.coopname,
|
113
|
-
|
94
|
+
GatewayContract.Tables.Outcomes.tableName,
|
114
95
|
params.username,
|
115
96
|
params.username,
|
116
97
|
LimitsList.None,
|
@@ -157,10 +138,12 @@ async function loadUserProgramWalletsData(
|
|
157
138
|
}
|
158
139
|
|
159
140
|
async function loadMethods(params: IGetPaymentMethods): Promise<IPaymentMethodData[]> {
|
160
|
-
const {username} = params
|
141
|
+
const { username } = params;
|
161
142
|
const methods = (await sendGET(`/v1/methods/${username}`)) as IGetResponsePaymentMethodData;
|
162
143
|
|
163
|
-
|
144
|
+
//тут стоит костыль, т.к. method_id это string, а фабрика документов не возвращает платежные методы с ID в виде number, по которым можно отсортировать.
|
145
|
+
//и дат там тоже нет. Как появятся даты/номера - так и сортировку эту поправим.
|
146
|
+
return methods.results.sort((a, b) => b.method_id.localeCompare(a.method_id));
|
164
147
|
}
|
165
148
|
|
166
149
|
async function loadUserAgreements(coopname: string, username: string): Promise<SovietContract.Tables.Agreements.IAgreement[]> {
|
@@ -180,7 +163,6 @@ async function loadUserAgreements(coopname: string, username: string): Promise<S
|
|
180
163
|
|
181
164
|
|
182
165
|
export const api = {
|
183
|
-
loadSingleUserWalletData,
|
184
166
|
loadSingleUserDepositData,
|
185
167
|
loadSingleUserProgramWalletData,
|
186
168
|
loadSingleUserWithdrawData,
|
@@ -18,14 +18,13 @@ const namespace = 'wallet';
|
|
18
18
|
|
19
19
|
interface IWalletStore {
|
20
20
|
/* доменный интерфейс кошелька пользователя */
|
21
|
-
// wallet: Ref<IWalletData>;
|
22
21
|
program_wallets: Ref<ExtendedProgramWalletData[]>;
|
23
22
|
deposits: Ref<IDepositData[]>;
|
24
23
|
withdraws: Ref<IWithdrawData[]>;
|
25
24
|
methods: Ref<IPaymentMethodData[]>;
|
26
25
|
agreements: Ref<SovietContract.Tables.Agreements.IAgreement[]>;
|
27
26
|
|
28
|
-
|
27
|
+
loadUserWallet: (params: ILoadUserWallet) => Promise<void>;
|
29
28
|
|
30
29
|
//TODO move to features
|
31
30
|
createDeposit: (params: ICreateDeposit) => Promise<IPaymentOrder>;
|
@@ -33,14 +32,6 @@ interface IWalletStore {
|
|
33
32
|
}
|
34
33
|
|
35
34
|
export const useWalletStore = defineStore(namespace, (): IWalletStore => {
|
36
|
-
// const wallet = ref<IWalletData>({
|
37
|
-
// username: '',
|
38
|
-
// coopname: '',
|
39
|
-
// available: `0.0000 ${CURRENCY}`,
|
40
|
-
// blocked: `0.0000 ${CURRENCY}`,
|
41
|
-
// minimum: `0.0000 ${CURRENCY}`,
|
42
|
-
// initial: `0.0000 ${CURRENCY}`,
|
43
|
-
// });
|
44
35
|
|
45
36
|
const deposits = ref<IDepositData[]>([]);
|
46
37
|
const withdraws = ref<IWithdrawData[]>([]);
|
@@ -49,20 +40,10 @@ export const useWalletStore = defineStore(namespace, (): IWalletStore => {
|
|
49
40
|
const agreements = ref<SovietContract.Tables.Agreements.IAgreement[]>([]);
|
50
41
|
|
51
42
|
|
52
|
-
const
|
53
|
-
|
54
|
-
// const createEmptyWallet = (): IWalletData => ({
|
55
|
-
// username: '',
|
56
|
-
// coopname: '',
|
57
|
-
// available: `0.0000 ${CURRENCY}`,
|
58
|
-
// blocked: `0.0000 ${CURRENCY}`,
|
59
|
-
// minimum: `0.0000 ${CURRENCY}`,
|
60
|
-
// initial: `0.0000 ${CURRENCY}`,
|
61
|
-
// });
|
43
|
+
const loadUserWallet = async (params: ILoadUserWallet) => {
|
62
44
|
|
63
45
|
try {
|
64
46
|
const data = await Promise.all([
|
65
|
-
// api.loadSingleUserWalletData(params),
|
66
47
|
api.loadUserDepositsData(params),
|
67
48
|
api.loadUserWithdrawsData(params),
|
68
49
|
api.loadUserProgramWalletsData(params),
|
@@ -70,7 +51,6 @@ export const useWalletStore = defineStore(namespace, (): IWalletStore => {
|
|
70
51
|
api.loadUserAgreements(params.coopname, params.username)
|
71
52
|
]);
|
72
53
|
|
73
|
-
// wallet.value = data[0] ?? createEmptyWallet();
|
74
54
|
deposits.value = data[0] ?? [];
|
75
55
|
withdraws.value = data[1] ?? [];
|
76
56
|
program_wallets.value = data[2] ?? [];
|
@@ -99,7 +79,7 @@ export const useWalletStore = defineStore(namespace, (): IWalletStore => {
|
|
99
79
|
withdraws,
|
100
80
|
methods,
|
101
81
|
agreements,
|
102
|
-
|
82
|
+
loadUserWallet,
|
103
83
|
createDeposit,
|
104
84
|
createWithdraw,
|
105
85
|
};
|
@@ -11,9 +11,8 @@ export type ExtendedProgramWalletData = IProgramWalletData & {
|
|
11
11
|
program_details: ICoopProgramData; // | или другие типы будущих программ
|
12
12
|
};
|
13
13
|
|
14
|
-
export type IDepositData = GatewayContract.Tables.
|
15
|
-
export type IWithdrawData = GatewayContract.Tables.
|
16
|
-
export type IWalletData = SovietContract.Tables.Wallets.IWallets;
|
14
|
+
export type IDepositData = GatewayContract.Tables.Incomes.IIncome;
|
15
|
+
export type IWithdrawData = GatewayContract.Tables.Outcomes.IOutcome;
|
17
16
|
|
18
17
|
export interface ILoadSingleUserWallet {
|
19
18
|
coopname: string;
|
@@ -56,7 +56,7 @@ const sign = async () => {
|
|
56
56
|
try {
|
57
57
|
isSubmitting.value = true
|
58
58
|
await signAgreement(session.username, props.agreement.type, agreementOnSign.value)
|
59
|
-
await useWalletStore().
|
59
|
+
await useWalletStore().loadUserWallet({coopname: info.coopname, username: session.username})
|
60
60
|
isSubmitting.value = false
|
61
61
|
show.value = false
|
62
62
|
SuccessAlert('Документ принят')
|