Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ESYTD
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Дияр Амангельды
ESYTD
Commits
9ebbeef6
Commit
9ebbeef6
authored
Jul 26, 2024
by
Merekeyev Dias
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changed apiSlice to have multiple endpoints
parent
983ae71e
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
38 additions
and
33 deletions
+38
-33
src/features/api/apiSlice.ts
src/features/api/apiSlice.ts
+24
-0
src/features/api/organizationApiSlice.ts
src/features/api/organizationApiSlice.ts
+10
-29
src/features/pagination/mainPagination.ts
src/features/pagination/mainPagination.ts
+0
-0
src/pages/(crudPages)/AddPage.tsx
src/pages/(crudPages)/AddPage.tsx
+1
-1
src/pages/(crudPages)/EditPage.tsx
src/pages/(crudPages)/EditPage.tsx
+1
-1
src/pages/HomePage/Columns.tsx
src/pages/HomePage/Columns.tsx
+1
-1
src/pages/HomePage/HomePage.tsx
src/pages/HomePage/HomePage.tsx
+1
-1
No files found.
src/features/api/apiSlice.ts
0 → 100644
View file @
9ebbeef6
import
{
createApi
,
fetchBaseQuery
}
from
'
@reduxjs/toolkit/query/react
'
;
import
{
RootState
}
from
'
../../main
'
;
export
const
apiSlice
=
createApi
({
reducerPath
:
'
api
'
,
baseQuery
:
fetchBaseQuery
({
baseUrl
:
"
http://77.243.80.217:8080/esutd/api
"
,
prepareHeaders
:
(
headers
,
{
getState
})
=>
{
const
state
=
getState
()
as
RootState
;
const
accessToken
=
state
.
auth
.
token
;
if
(
accessToken
)
{
headers
.
set
(
"
Authorization
"
,
`Bearer
${
accessToken
}
`
);
}
headers
.
set
(
"
Content-Type
"
,
"
application/json
"
);
headers
.
set
(
"
Accept
"
,
"
application/json
"
);
return
headers
;
},
}),
tagTypes
:
[
"
organizations
"
],
endpoints
:
()
=>
({}),
});
\ No newline at end of file
src/features/api/
apiSlice.tsx
→
src/features/api/
organizationApiSlice.ts
View file @
9ebbeef6
import
{
createApi
,
fetchBaseQuery
}
from
'
@reduxjs/toolkit/query/react
'
;
import
{
RootState
}
from
'
../../main
'
;
import
{
apiSlice
}
from
"
./apiSlice
"
;
interface
Organization
{
id
:
number
;
...
...
@@ -14,36 +13,18 @@ interface Organization {
host
:
string
;
}
export
const
apiSlice
=
createApi
({
reducerPath
:
'
api
'
,
baseQuery
:
fetchBaseQuery
({
baseUrl
:
"
http://77.243.80.217:8080/esutd/api/organizations
"
,
prepareHeaders
:
(
headers
,
{
getState
})
=>
{
const
state
=
getState
()
as
RootState
;
const
accessToken
=
state
.
auth
.
token
;
if
(
accessToken
)
{
headers
.
set
(
"
Authorization
"
,
`Bearer
${
accessToken
}
`
);
}
headers
.
set
(
"
Content-Type
"
,
"
application/json
"
);
headers
.
set
(
"
Accept
"
,
"
application/json
"
);
return
headers
;
},
}),
tagTypes
:
[
"
organizations
"
],
export
const
organizationApiSlice
=
apiSlice
.
injectEndpoints
({
endpoints
:
(
builder
)
=>
({
getOrganizations
:
builder
.
query
<
Organization
[],
void
>
({
query
:
()
=>
'
/list
'
,
query
:
()
=>
'
organizations
/list
'
,
providesTags
:
[
"
organizations
"
],
}),
getOrganization
:
builder
.
query
<
Organization
,
string
>
({
query
:
(
orgId
)
=>
`/info?id=
${
orgId
}
`
,
query
:
(
orgId
)
=>
`
organizations
/info?id=
${
orgId
}
`
,
}),
addNewOrganization
:
builder
.
mutation
<
Organization
,
Partial
<
Organization
>>
({
query
:
(
initialOrg
)
=>
({
url
:
'
/save
'
,
// Ensure the endpoint is correct
url
:
'
organizations/save
'
,
method
:
'
POST
'
,
body
:
initialOrg
,
}),
...
...
@@ -51,7 +32,7 @@ export const apiSlice = createApi({
}),
editOrganization
:
builder
.
mutation
<
Organization
,
Partial
<
Organization
>>
({
query
:
({
id
,
...
rest
})
=>
({
url
:
`/edit?id=
${
id
}
`
,
url
:
`
organizations
/edit?id=
${
id
}
`
,
method
:
'
PUT
'
,
body
:
rest
,
}),
...
...
@@ -59,13 +40,13 @@ export const apiSlice = createApi({
}),
deleteOrganization
:
builder
.
mutation
<
{
success
:
boolean
;
id
:
number
},
number
>
({
query
:
(
orgId
)
=>
({
url
:
`/delete?id=
${
orgId
}
`
,
url
:
`
organizations
/delete?id=
${
orgId
}
`
,
method
:
'
DELETE
'
,
}),
invalidatesTags
:
[
"
organizations
"
],
}),
})
,
})
;
})
})
export
const
{
useGetOrganizationsQuery
,
...
...
@@ -73,4 +54,4 @@ export const {
useAddNewOrganizationMutation
,
useEditOrganizationMutation
,
useDeleteOrganizationMutation
,
}
=
a
piSlice
;
}
=
organizationA
piSlice
;
src/features/pagination/mainPagination.ts
x
→
src/features/pagination/mainPagination.ts
View file @
9ebbeef6
File moved
src/pages/(crudPages)/AddPage.tsx
View file @
9ebbeef6
import
React
from
'
react
'
;
import
{
useNavigate
}
from
'
react-router
'
;
import
{
Form
,
Input
,
Button
,
Select
,
message
}
from
'
antd
'
;
import
{
useAddNewOrganizationMutation
}
from
'
../../features/api/
a
piSlice
'
;
import
{
useAddNewOrganizationMutation
}
from
'
../../features/api/
organizationA
piSlice
'
;
import
{
setTotalOrgNumber
,
setCurrentPage
}
from
'
../../features/pagination/mainPagination
'
;
import
{
useSelector
,
useDispatch
}
from
'
react-redux
'
;
import
'
./style.css
'
;
...
...
src/pages/(crudPages)/EditPage.tsx
View file @
9ebbeef6
import
React
,
{
useEffect
}
from
'
react
'
;
import
{
useNavigate
,
useParams
}
from
'
react-router
'
;
import
{
Form
,
Input
,
Button
,
Select
,
message
}
from
'
antd
'
;
import
{
useGetOrganizationQuery
,
useEditOrganizationMutation
}
from
'
../../features/api/
a
piSlice
'
;
import
{
useGetOrganizationQuery
,
useEditOrganizationMutation
}
from
'
../../features/api/
organizationA
piSlice
'
;
import
'
./style.css
'
;
interface
EditValues
{
id
:
number
;
// Change this line
...
...
src/pages/HomePage/Columns.tsx
View file @
9ebbeef6
...
...
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
import
{
useNavigate
}
from
'
react-router
'
;
import
{
Button
,
Space
,
Tag
,
Modal
,
message
}
from
'
antd
'
;
import
type
{
TableProps
}
from
'
antd
'
;
import
{
useDeleteOrganizationMutation
}
from
'
../../features/api/
a
piSlice
'
;
import
{
useDeleteOrganizationMutation
}
from
'
../../features/api/
organizationA
piSlice
'
;
import
{
getStatusText
,
getStatusColor
}
from
'
./utils
'
;
export
interface
DataType
{
...
...
src/pages/HomePage/HomePage.tsx
View file @
9ebbeef6
...
...
@@ -2,7 +2,7 @@ import React, { useEffect } from 'react';
import
{
useNavigate
}
from
'
react-router
'
;
import
{
useSelector
,
useDispatch
}
from
'
react-redux
'
;
import
{
Button
,
Pagination
,
Spin
,
Table
}
from
'
antd
'
;
import
{
useGetOrganizationsQuery
}
from
'
../../features/api/
a
piSlice
'
;
import
{
useGetOrganizationsQuery
}
from
'
../../features/api/
organizationA
piSlice
'
;
import
{
setCurrentPage
,
setTotalOrgNumber
}
from
'
../../features/pagination/mainPagination
'
;
import
{
DataType
,
columns
}
from
'
./Columns
'
;
import
'
./Homepage.css
'
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment