From aa2e3bf1340f4a1f342d20f78ea6439587ac2a86 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sat, 16 Sep 2023 21:02:01 +0300 Subject: [PATCH] =?UTF-8?q?privilegies=20=D0=BD=D0=B0=20privileges?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/api/privilegies.ts | 24 +++++++++---------- src/api/tariffs.ts | 4 ++-- src/kitUI/Cart/Cart.tsx | 4 ++-- src/model/tariff.ts | 2 +- src/pages/Setting/CardPrivilegie.tsx | 16 ++++++------- src/pages/Setting/ListPrivilegie.tsx | 10 ++++---- src/pages/Setting/PrivilegiesWrapper.tsx | 6 ++--- src/pages/Setting/SettingRoles.tsx | 4 ++-- .../Content/Tariffs/CreateTariff.tsx | 2 +- .../dashboard/Content/Tariffs/EditModal.tsx | 2 +- .../Content/Tariffs/Privileges/Privileges.tsx | 4 ++-- src/pages/dashboard/Content/Tariffs/index.tsx | 4 ++-- .../dashboard/Content/Tariffs/tariffsDG.tsx | 10 ++++---- src/pages/dashboard/ModalUser/UserTab.tsx | 2 +- src/services/privilegies.service.ts | 22 ++++++++--------- src/utils/calcCart/calcCart.test.ts | 10 ++++---- src/utils/calcCart/calcCart.ts | 6 ++--- src/utils/hooks/usePrivileges.ts | 12 +++++----- src/utils/tariffPrice.ts | 2 +- yarn.lock | 8 +++---- 21 files changed, 78 insertions(+), 78 deletions(-) diff --git a/package.json b/package.json index 4a5947e..ff88fc5 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@date-io/dayjs": "^2.15.0", "@emotion/react": "^11.10.4", "@emotion/styled": "^11.10.4", - "@frontend/kitui": "^1.0.44", + "@frontend/kitui": "^1.0.52", "@material-ui/pickers": "^3.3.10", "@mui/icons-material": "^5.10.3", "@mui/material": "^5.10.5", diff --git a/src/api/privilegies.ts b/src/api/privilegies.ts index 3223fc0..1382406 100644 --- a/src/api/privilegies.ts +++ b/src/api/privilegies.ts @@ -5,7 +5,7 @@ import { parseAxiosError } from "@root/utils/parse-error"; import { PrivilegeWithAmount } from "@frontend/kitui"; import type { TMockData } from "./roles"; -type SeverPrivilegiesResponse = { +type SeverPrivilegesResponse = { templategen: PrivilegeWithAmount[]; }; @@ -29,11 +29,11 @@ export const getRoles = async (): Promise<[TMockData | null, string?]> => { } }; -export const putPrivilegie = async ( +export const putPrivilege = async ( body: Omit ): Promise<[unknown, string?]> => { try { - const putedPrivilegie = await makeRequest< + const putedPrivilege = await makeRequest< Omit, unknown >({ @@ -42,7 +42,7 @@ export const putPrivilegie = async ( body, }); - return [putedPrivilegie]; + return [putedPrivilege]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); @@ -50,19 +50,19 @@ export const putPrivilegie = async ( } }; -export const requestServicePrivilegies = async (): Promise< - [SeverPrivilegiesResponse | null, string?] +export const requestServicePrivileges = async (): Promise< + [SeverPrivilegesResponse | null, string?] > => { try { - const privilegiesResponse = await makeRequest< + const privilegesResponse = await makeRequest< never, - SeverPrivilegiesResponse + SeverPrivilegesResponse >({ url: baseUrl + "/privilege/service", method: "get", }); - return [privilegiesResponse]; + return [privilegesResponse]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); @@ -70,11 +70,11 @@ export const requestServicePrivilegies = async (): Promise< } }; -export const requestPrivilegies = async ( +export const requestPrivileges = async ( signal: AbortSignal | undefined ): Promise<[PrivilegeWithAmount[], string?]> => { try { - const privilegiesResponse = await makeRequest( + const privilegesResponse = await makeRequest( { url: baseUrl + "/privilege", method: "get", @@ -83,7 +83,7 @@ export const requestPrivilegies = async ( } ); - return [privilegiesResponse]; + return [privilegesResponse]; } catch (nativeError) { const [error] = parseAxiosError(nativeError); diff --git a/src/api/tariffs.ts b/src/api/tariffs.ts index 86a566f..d8031fa 100644 --- a/src/api/tariffs.ts +++ b/src/api/tariffs.ts @@ -10,7 +10,7 @@ type CreateTariffBackendRequest = { name: string; price: number; isCustom: boolean; - privilegies: Omit[]; + privileges: Omit[]; }; type GetTariffsResponse = { @@ -54,7 +54,7 @@ export const putTariff = async (tariff: Tariff): Promise<[null, string?]> => { name: tariff.name, price: tariff.price ?? 0, isCustom: false, - privilegies: tariff.privilegies, + privileges: tariff.privileges, }, }); diff --git a/src/kitUI/Cart/Cart.tsx b/src/kitUI/Cart/Cart.tsx index b947388..fc3fc52 100644 --- a/src/kitUI/Cart/Cart.tsx +++ b/src/kitUI/Cart/Cart.tsx @@ -18,7 +18,7 @@ import { useState } from "react"; import { setCartData, useCartStore } from "@root/stores/cart"; import { useTariffStore } from "@root/stores/tariffs"; import { useDiscountStore } from "@root/stores/discounts"; -import { requestPrivilegies } from "@root/services/privilegies.service"; +import { requestPrivileges } from "@root/services/privilegies.service"; import { requestDiscounts } from "@root/services/discounts.service"; import { DiscountTooltip } from "./DiscountTooltip"; import CartItemRow from "./CartItemRow"; @@ -43,7 +43,7 @@ export default function Cart() { const cartDiscountsResultFactor = findDiscountFactor(cartData?.appliedCartPurchasesDiscount) * findDiscountFactor(cartData?.appliedLoyaltyDiscount); async function handleCalcCartClick() { - await requestPrivilegies(); + await requestPrivileges(); await requestDiscounts(); const cartTariffs = tariffs.filter(tariff => selectedTariffIds.includes(tariff._id)); diff --git a/src/model/tariff.ts b/src/model/tariff.ts index 950b7b6..0d6376d 100644 --- a/src/model/tariff.ts +++ b/src/model/tariff.ts @@ -23,5 +23,5 @@ export type EditTariffRequestBody = { name: string; price: number; isCustom: boolean; - privilegies: Omit[]; + privileges: Omit[]; }; diff --git a/src/pages/Setting/CardPrivilegie.tsx b/src/pages/Setting/CardPrivilegie.tsx index 31a37cf..4e72417 100644 --- a/src/pages/Setting/CardPrivilegie.tsx +++ b/src/pages/Setting/CardPrivilegie.tsx @@ -3,13 +3,13 @@ import { enqueueSnackbar } from "notistack"; import { Box, IconButton, TextField, Tooltip, Typography } from "@mui/material"; import ModeEditOutlineOutlinedIcon from "@mui/icons-material/ModeEditOutlineOutlined"; import { PrivilegeWithAmount } from "@frontend/kitui"; -import { putPrivilegie } from "@root/api/privilegies"; +import { putPrivilege } from "@root/api/privilegies"; -interface CardPrivilegie { +interface CardPrivilege { privilege: PrivilegeWithAmount; } -export const СardPrivilegie = ({ privilege }: CardPrivilegie) => { +export const СardPrivilege = ({ privilege }: CardPrivilege) => { const [inputOpen, setInputOpen] = useState(false); const [inputValue, setInputValue] = useState(""); const priceRef = useRef(null); @@ -20,8 +20,8 @@ export const СardPrivilegie = ({ privilege }: CardPrivilegie) => { mb: "за МБ", }; - const putPrivilegies = async () => { - const [_, putedPrivilegieError] = await putPrivilegie({ + const putPrivileges = async () => { + const [_, putedPrivilegeError] = await putPrivilege({ name: privilege.name, privilegeId: privilege.privilegeId, serviceKey: privilege.serviceKey, @@ -32,8 +32,8 @@ export const СardPrivilegie = ({ privilege }: CardPrivilegie) => { price: 100 * Number(inputValue), }); - if (putedPrivilegieError) { - return enqueueSnackbar(putedPrivilegieError); + if (putedPrivilegeError) { + return enqueueSnackbar(putedPrivilegeError); } if (!priceRef.current) { @@ -50,7 +50,7 @@ export const СardPrivilegie = ({ privilege }: CardPrivilegie) => { return setInputOpen(false); } if (event.key === "Enter" && inputValue !== "") { - putPrivilegies(); + putPrivileges(); setInputOpen(false); } }; diff --git a/src/pages/Setting/ListPrivilegie.tsx b/src/pages/Setting/ListPrivilegie.tsx index 59cd472..62618a6 100644 --- a/src/pages/Setting/ListPrivilegie.tsx +++ b/src/pages/Setting/ListPrivilegie.tsx @@ -1,21 +1,21 @@ import { useEffect } from "react"; import { usePrivilegeStore } from "@root/stores/privilegesStore"; -import { requestPrivilegies } from "@root/services/privilegies.service"; +import { requestPrivileges } from "@root/services/privilegies.service"; -import { СardPrivilegie } from "./CardPrivilegie"; +import { СardPrivilege } from "./CardPrivilegie"; -export default function ListPrivilegie() { +export default function ListPrivilege() { const privileges = usePrivilegeStore((state) => state.privileges); useEffect(() => { - requestPrivilegies(); + requestPrivileges(); }, []); return ( <> {privileges.map(privilege => ( - <СardPrivilegie + <СardPrivilege key={privilege._id} privilege={privilege} /> diff --git a/src/pages/Setting/PrivilegiesWrapper.tsx b/src/pages/Setting/PrivilegiesWrapper.tsx index 44b0a4d..6926678 100644 --- a/src/pages/Setting/PrivilegiesWrapper.tsx +++ b/src/pages/Setting/PrivilegiesWrapper.tsx @@ -2,7 +2,7 @@ import { useState } from "react"; import { Box, SxProps, Theme, Typography, useMediaQuery, useTheme } from "@mui/material"; -import ListPrivilegie from "./ListPrivilegie"; +import ListPrivilege from "./ListPrivilegie"; interface CustomWrapperProps { text: string; @@ -10,7 +10,7 @@ interface CustomWrapperProps { result?: boolean; } -export const PrivilegiesWrapper = ({ text, sx, result }: CustomWrapperProps) => { +export const PrivilegesWrapper = ({ text, sx, result }: CustomWrapperProps) => { const theme = useTheme(); const upMd = useMediaQuery(theme.breakpoints.up("md")); const upSm = useMediaQuery(theme.breakpoints.up("sm")); @@ -121,7 +121,7 @@ export const PrivilegiesWrapper = ({ text, sx, result }: CustomWrapperProps) => )} - {isExpanded && } + {isExpanded && } ); diff --git a/src/pages/Setting/SettingRoles.tsx b/src/pages/Setting/SettingRoles.tsx index 6b230d6..5937b40 100644 --- a/src/pages/Setting/SettingRoles.tsx +++ b/src/pages/Setting/SettingRoles.tsx @@ -4,7 +4,7 @@ import { CustomWrapper } from "@root/kitUI/CustomWrapper"; import FormDeleteRoles from "./FormDeleteRoles"; import FormCreateRoles from "./FormCreateRoles"; -import { PrivilegiesWrapper } from "./PrivilegiesWrapper"; +import { PrivilegesWrapper } from "./PrivilegiesWrapper"; import theme from "../../theme"; @@ -110,7 +110,7 @@ export const SettingRoles = (): JSX.Element => { } /> - + ); }; diff --git a/src/pages/dashboard/Content/Tariffs/CreateTariff.tsx b/src/pages/dashboard/Content/Tariffs/CreateTariff.tsx index 7c26f2f..7bbfb17 100644 --- a/src/pages/dashboard/Content/Tariffs/CreateTariff.tsx +++ b/src/pages/dashboard/Content/Tariffs/CreateTariff.tsx @@ -59,7 +59,7 @@ export default function CreateTariff() { name: nameField, price: Number(customPriceField) * 100, isCustom: false, - privilegies: [ + privileges: [ { name: privilege.name, privilegeId: privilege.privilegeId ?? "", diff --git a/src/pages/dashboard/Content/Tariffs/EditModal.tsx b/src/pages/dashboard/Content/Tariffs/EditModal.tsx index d27a079..c167f26 100644 --- a/src/pages/dashboard/Content/Tariffs/EditModal.tsx +++ b/src/pages/dashboard/Content/Tariffs/EditModal.tsx @@ -93,7 +93,7 @@ export default function EditModal() { sx={{ marginBottom: "10px" }} /> - Цена за единицу: {tariff.privilegies[0].price} + Цена за единицу: {tariff.privileges[0].price} - + diff --git a/src/pages/dashboard/Content/Tariffs/index.tsx b/src/pages/dashboard/Content/Tariffs/index.tsx index 7fcea6b..b5a40e8 100644 --- a/src/pages/dashboard/Content/Tariffs/index.tsx +++ b/src/pages/dashboard/Content/Tariffs/index.tsx @@ -2,7 +2,7 @@ import { useEffect } from "react"; import { Container, Typography } from "@mui/material"; import { requestTariffs } from "@root/services/tariffs.service"; -import { requestPrivilegies } from "@root/services/privilegies.service"; +import { requestPrivileges } from "@root/services/privilegies.service"; import CreateTariff from "./CreateTariff"; import Privileges from "./Privileges/Privileges"; @@ -12,7 +12,7 @@ import TariffsInfo from "./TariffsInfo"; export default function Tariffs() { useEffect(() => { requestTariffs(); - requestPrivilegies(); + requestPrivileges(); }, []); return ( diff --git a/src/pages/dashboard/Content/Tariffs/tariffsDG.tsx b/src/pages/dashboard/Content/Tariffs/tariffsDG.tsx index 9639d0a..59404c8 100644 --- a/src/pages/dashboard/Content/Tariffs/tariffsDG.tsx +++ b/src/pages/dashboard/Content/Tariffs/tariffsDG.tsx @@ -27,11 +27,11 @@ const columns: GridColDef[] = [ }, }, { field: "name", headerName: "Название тарифа", width: 150, valueGetter: ({ row }) => row.name }, - { field: "amount", headerName: "Количество", width: 110, valueGetter: ({ row }) => row.privilegies[0].amount }, - { field: "serviceName", headerName: "Сервис", width: 150, valueGetter: ({ row }) => row.privilegies[0].serviceKey }, - { field: "privilegeName", headerName: "Привилегия", width: 150, valueGetter: ({ row }) => row.privilegies[0].name }, - { field: "type", headerName: "Единица", width: 100, valueGetter: ({ row }) => row.privilegies[0].type }, - { field: "pricePerUnit", headerName: "Цена за ед.", width: 100, valueGetter: ({ row }) => row.privilegies[0].price }, + { field: "amount", headerName: "Количество", width: 110, valueGetter: ({ row }) => row.privileges[0].amount }, + { field: "serviceName", headerName: "Сервис", width: 150, valueGetter: ({ row }) => row.privileges[0].serviceKey }, + { field: "privilegeName", headerName: "Привилегия", width: 150, valueGetter: ({ row }) => row.privileges[0].name }, + { field: "type", headerName: "Единица", width: 100, valueGetter: ({ row }) => row.privileges[0].type }, + { field: "pricePerUnit", headerName: "Цена за ед.", width: 100, valueGetter: ({ row }) => row.privileges[0].price }, { field: "isCustom", headerName: "Кастомная цена", width: 130, valueGetter: ({ row }) => row.isCustom ? "Да" : "Нет" }, { field: "total", headerName: "Сумма", width: 60, valueGetter: ({ row }) => getTariffPrice(row) }, { diff --git a/src/pages/dashboard/ModalUser/UserTab.tsx b/src/pages/dashboard/ModalUser/UserTab.tsx index 0dace28..ad03896 100644 --- a/src/pages/dashboard/ModalUser/UserTab.tsx +++ b/src/pages/dashboard/ModalUser/UserTab.tsx @@ -80,7 +80,7 @@ export const UserTab = ({ userId }: UserTabProps) => { Внутренний кошелек - {`${account?.wallet.money || 0} ${ + {`${account ? account.wallet.money / 100 : 0} ${ account?.wallet.currency || "RUB" }.`} diff --git a/src/services/privilegies.service.ts b/src/services/privilegies.service.ts index dfeca46..1d86a72 100644 --- a/src/services/privilegies.service.ts +++ b/src/services/privilegies.service.ts @@ -1,14 +1,14 @@ import { resetPrivilegeArray } from "@root/stores/privilegesStore"; import { exampleCartValues } from "@stores/mocks/exampleCartValues"; -import { requestServicePrivilegies } from "@root/api/privilegies"; +import { requestServicePrivileges } from "@root/api/privilegies"; import type { PrivilegeWithAmount } from "@frontend/kitui"; -const mutatePrivilegies = (privilegies: PrivilegeWithAmount[]) => { +const mutatePrivileges = (privileges: PrivilegeWithAmount[]) => { let extracted: PrivilegeWithAmount[] = []; - for (let serviceKey in privilegies) { + for (let serviceKey in privileges) { //Приходит объект. В его значениях массивы привилегий для разных сервисов. Высыпаем в общую кучу и обновляем стор - extracted = extracted.concat(privilegies[serviceKey]); + extracted = extracted.concat(privileges[serviceKey]); } let readyArray = extracted.map((privilege) => ({ @@ -25,15 +25,15 @@ const mutatePrivilegies = (privilegies: PrivilegeWithAmount[]) => { resetPrivilegeArray([...readyArray, ...exampleCartValues.privileges]); }; -export const requestPrivilegies = async () => { - const [privilegiesResponse, privilegiesError] = - await requestServicePrivilegies(); +export const requestPrivileges = async () => { + const [privilegesResponse, privilegesError] = + await requestServicePrivileges(); - if (privilegiesError) { - return console.error(privilegiesError); + if (privilegesError) { + return console.error(privilegesError); } - if (privilegiesResponse) { - mutatePrivilegies(privilegiesResponse.templategen); + if (privilegesResponse) { + mutatePrivileges(privilegesResponse.templategen); } }; diff --git a/src/utils/calcCart/calcCart.test.ts b/src/utils/calcCart/calcCart.test.ts index ff0eaeb..7022225 100644 --- a/src/utils/calcCart/calcCart.test.ts +++ b/src/utils/calcCart/calcCart.test.ts @@ -811,7 +811,7 @@ const templategenTariff1: Tariff = { name: "templategenTariff1", price: 0, isCustom: false, - privilegies: [ + privileges: [ { _id: "p1", name: "n1", @@ -834,7 +834,7 @@ const templategenTariff2: Tariff = { name: "templategenTariff2", price: 0, isCustom: false, - privilegies: [ + privileges: [ { _id: "p5", name: "n5", @@ -857,7 +857,7 @@ const customTemplategenTariff: Tariff = { name: "templategenTariff3", price: 0, isCustom: true, - privilegies: [ + privileges: [ { _id: "p1", name: "n1", @@ -880,7 +880,7 @@ const squizTariff: Tariff = { name: "squizTariff", price: 0, isCustom: false, - privilegies: [ + privileges: [ { _id: "p2", name: "n2", @@ -903,7 +903,7 @@ const reducerTariff: Tariff = { name: "reducerTariff", price: 0, isCustom: false, - privilegies: [ + privileges: [ { _id: "p3", name: "n3", diff --git a/src/utils/calcCart/calcCart.ts b/src/utils/calcCart/calcCart.ts index 351698b..d03ccfb 100644 --- a/src/utils/calcCart/calcCart.ts +++ b/src/utils/calcCart/calcCart.ts @@ -20,10 +20,10 @@ export function calcCart( const serviceTariffType: Record = {}; tariffs.forEach(tariff => { - let serviceData = cartData.services.find(service => service.serviceKey === tariff.privilegies[0].serviceKey); + let serviceData = cartData.services.find(service => service.serviceKey === tariff.privileges[0].serviceKey); if (!serviceData) { serviceData = { - serviceKey: tariff.privilegies[0].serviceKey, + serviceKey: tariff.privileges[0].serviceKey, tariffs: [], price: 0, appliedServiceDiscount: null, @@ -40,7 +40,7 @@ export function calcCart( }; serviceData.tariffs.push(tariffCartData); - tariff.privilegies.forEach(privilege => { + tariff.privileges.forEach(privilege => { serviceTariffType[privilege.serviceKey] ??= +tariff.isCustom; const isIncompatibleTariffs = serviceTariffType[privilege.serviceKey] ^ +tariff.isCustom; if (isIncompatibleTariffs) throw new Error("Если взят готовый тариф, то кастомный на этот сервис сделать уже нельзя"); diff --git a/src/utils/hooks/usePrivileges.ts b/src/utils/hooks/usePrivileges.ts index 7509c89..81d8489 100644 --- a/src/utils/hooks/usePrivileges.ts +++ b/src/utils/hooks/usePrivileges.ts @@ -1,6 +1,6 @@ import { useEffect } from "react"; -import { requestPrivilegies } from "@root/api/privilegies"; +import { requestPrivileges } from "@root/api/privilegies"; import type { PrivilegeWithAmount } from "@frontend/kitui"; @@ -14,13 +14,13 @@ export default function usePrivileges({ useEffect(() => { const controller = new AbortController(); - requestPrivilegies(controller.signal).then( - ([privilegiesResponse, privilegiesError]) => { - if (privilegiesError) { - return onError?.(privilegiesError); + requestPrivileges(controller.signal).then( + ([privilegesResponse, privilegesError]) => { + if (privilegesError) { + return onError?.(privilegesError); } - onNewPrivileges(privilegiesResponse); + onNewPrivileges(privilegesResponse); } ); diff --git a/src/utils/tariffPrice.ts b/src/utils/tariffPrice.ts index c8db6b5..f0e8b98 100644 --- a/src/utils/tariffPrice.ts +++ b/src/utils/tariffPrice.ts @@ -1,5 +1,5 @@ import { Tariff } from "@frontend/kitui"; export function getTariffPrice(tariff: Tariff) { - return tariff.price || tariff.privilegies.reduce((sum, privilege) => sum + privilege.amount * privilege.price, 0); + return tariff.price || tariff.privileges.reduce((sum, privilege) => sum + privilege.amount * privilege.price, 0); } diff --git a/yarn.lock b/yarn.lock index 6de11dc..2354b6d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1433,10 +1433,10 @@ lodash.isundefined "^3.0.1" lodash.uniq "^4.5.0" -"@frontend/kitui@^1.0.44": - version "1.0.44" - resolved "https://penahub.gitlab.yandexcloud.net/api/v4/projects/21/packages/npm/@frontend/kitui/-/@frontend/kitui-1.0.44.tgz#7a6e48e37294b6cc283e22fa0fe6ee4903a843aa" - integrity sha1-em5I43KUtswoPiL6D+buSQOoQ6o= +"@frontend/kitui@^1.0.52": + version "1.0.52" + resolved "https://penahub.gitlab.yandexcloud.net/api/v4/projects/21/packages/npm/@frontend/kitui/-/@frontend/kitui-1.0.52.tgz#3b1c28f889da80ab325ab2b511108632fa925f1c" + integrity sha1-Oxwo+InagKsyWrK1ERCGMvqSXxw= dependencies: immer "^10.0.2" reconnecting-eventsource "^1.6.2"