Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Permission Role #86

Merged
merged 40 commits into from
Aug 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
68e9566
add role check
sanglevinh Jul 27, 2023
ac899ea
Merge branch 'develop-main' into feature/check_role
sanglevinh Jul 28, 2023
595896e
add role to dashboard
sanglevinh Jul 28, 2023
4a110c7
fix UI workspaces
sanglevinh Jul 28, 2023
5a62d0f
add role del account
sanglevinh Jul 28, 2023
9553327
add value to popup share
sanglevinh Jul 28, 2023
64c4196
Merge branch 'develop-main' into feature/integrate_api_database_share
sanglevinh Jul 28, 2023
a12f040
add api get list user share
sanglevinh Jul 28, 2023
505a7c4
Merge branch 'feature/workspaces' into feature/integrate_api_database…
sanglevinh Jul 28, 2023
b29f2a8
add popshare database
sanglevinh Jul 28, 2023
24a0e6b
Merge branch 'feature/workspaces' into feature/integrate_api_database…
sanglevinh Jul 28, 2023
b526f73
integrate api share workspace
sanglevinh Jul 28, 2023
81bc59a
remove import not use
sanglevinh Jul 28, 2023
3e62add
fix eslint
sanglevinh Jul 28, 2023
077dc97
Add return type
sanglevinh Jul 28, 2023
e7737bd
remove type any
sanglevinh Jul 28, 2023
0d51d50
disable sort and filter column share in PopupShar, fix type share
sanglevinh Jul 31, 2023
fff5718
rename file
sanglevinh Jul 31, 2023
08fc194
refactor code
sanglevinh Jul 31, 2023
7d9d398
fix comment
sanglevinh Jul 31, 2023
aabbd3d
Merge branch 'develop-main' into feature/check_role
sanglevinh Aug 1, 2023
b86bdde
add checkRole
sanglevinh Aug 1, 2023
60932a6
defind and use selector
sanglevinh Aug 1, 2023
1464bf3
use isMe
sanglevinh Aug 1, 2023
bf7351c
Merge branch 'develop-main' into feature/integrate_api_database_share
sanglevinh Aug 1, 2023
6f9971c
Merge branch 'develop-main' into feature/integrate_api_database_share
sanglevinh Aug 1, 2023
736b1ab
create foreignkey for user_id workspaces
quanpython Aug 1, 2023
1f84768
fix permission for database share
quanpython Aug 1, 2023
7cbefde
fix get expdb share
quanpython Aug 1, 2023
373d974
refactor list_user query
quanpython Jul 31, 2023
8b6de92
integrate API search user share
sanglevinh Aug 1, 2023
6e38132
add key to map
sanglevinh Aug 2, 2023
cc4834b
add dispatch getMe when submit login
sanglevinh Aug 2, 2023
235f679
Merge branch 'feature/refactor-db-models' into feature/integrate_api_…
sanglevinh Aug 2, 2023
3fa6c15
add keydown esc cancel search, del user when click IconCancel, fix sh…
sanglevinh Aug 2, 2023
9e03c5d
Merge branch 'feature/integrate_api_database_share' into feature/chec…
sanglevinh Aug 2, 2023
a7071d0
marge share user
sanglevinh Aug 2, 2023
e77818c
close popup when press esc
sanglevinh Aug 2, 2023
fc3b507
Merge branch 'feature/integrate_api_database_share' into feature/chec…
sanglevinh Aug 2, 2023
4e5f7a3
add role to attribute
sanglevinh Aug 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions frontend/src/@types/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
export const enum ROLE {
ADMIN = 1,
MANAGER = 10,
OPERATOR = 20,
GUEST_OPERATOR = 30
}

export const enum SHARE {
NOSHARE = 0,
ORGANIZATION = 2,
USERS = 1,
}
11 changes: 11 additions & 0 deletions frontend/src/api/Workspace/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import axios from 'utils/axios'
import qs from 'qs'
import { ItemsWorkspace, WorkspaceDataDTO } from 'store/slice/Workspace/WorkspaceType'
import { ListShareDTO } from 'store/slice/Database/DatabaseType';

export type WorkspacePostDataDTO = { name: string; id?: number }

Expand Down Expand Up @@ -40,3 +41,13 @@ export const exportWorkspaceApi = async (id: number): Promise<void> => {
const response = await axios.get(`/workspace/export/${id}`)
return response.data
}

export const getListUserShareWorkspaceApi = async (id: number): Promise<ListShareDTO> => {
const response = await axios.get(`/workspace/share/${id}/status`)
return response.data
}

export const postListUserShareWorkspaceApi = async (id: number, data: {user_ids: number[]}): Promise<boolean> => {
const response = await axios.post(`/workspace/share/${id}/status`, data)
return response.data
}
22 changes: 16 additions & 6 deletions frontend/src/api/database/index.ts
Original file line number Diff line number Diff line change
@@ -1,32 +1,42 @@
import { DatabaseParams } from 'store/slice/Database/DatabaseType'
import { DatabaseDTO, DatabaseParams, ListShareDTO } from 'store/slice/Database/DatabaseType'
import axios from 'utils/axios'
import qs from 'qs'

export const getExperimentsPublicApi = async (params: DatabaseParams) => {
export const getExperimentsPublicApi = async (params: DatabaseParams): Promise<DatabaseDTO> => {
const paramsNew = qs.stringify(params, { indices: false })
const response = await axios.get(`/public/experiments?${paramsNew}`)
return response.data
}

export const getCellsPublicApi = async (params: DatabaseParams) => {
export const getCellsPublicApi = async (params: DatabaseParams): Promise<DatabaseDTO> => {
const paramsNew = qs.stringify(params, { indices: false })
const response = await axios.get(`/public/cells?${paramsNew}`)
return response.data
}

export const getExperimentsApi = async (params: DatabaseParams) => {
export const getExperimentsApi = async (params: DatabaseParams): Promise<DatabaseDTO> => {
const paramsNew = qs.stringify(params, { indices: false })
const response = await axios.get(`/expdb/experiments?${paramsNew}`)
return response.data
}

export const getCellsApi = async (params: DatabaseParams) => {
export const getCellsApi = async (params: DatabaseParams): Promise<DatabaseDTO> => {
const paramsNew = qs.stringify(params, { indices: false })
const response = await axios.get(`/expdb/cells?${paramsNew}`)
return response.data
}

export const postPublistApi = async (id: number, status: 'on' | 'off') => {
export const postPublistApi = async (id: number, status: 'on' | 'off'): Promise<boolean> => {
const response = await axios.post(`/expdb/experiment/publish/${id}/${status}`)
return response.data
}

export const getListUserShareApi = async (id: number): Promise<ListShareDTO> => {
const response = await axios.get(`/expdb/share/${id}/status`)
return response.data
}

export const postListUserShareApi = async (id: number, data: {share_type: number; user_ids: number[]}): Promise<boolean> => {
const response = await axios.post(`/expdb/share/${id}/status`, data)
return response.data
}
5 changes: 5 additions & 0 deletions frontend/src/api/users/UsersAdmin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,8 @@ export const deleteUserApi = async (uid: string): Promise<string> => {
const response = await axios.delete(`/admin/users/${uid}`)
return response.data
}

export const getListSearchApi = async (data: {keyword: string | null}): Promise<UserDTO[]> => {
const response = await axios.get(`/users/search/share_users${data.keyword ? `?keyword=${data.keyword}` : ''}`)
return response.data
}
9 changes: 7 additions & 2 deletions frontend/src/api/users/UsersApiDTO.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
export type UserDTO = {
id: number
uid: string
uid?: string
email: string
id?: number
name?: string
organization_id?: number
role_id?: number
create_at?: string
update_at?: string
}

export type AddUserDTO = {
Expand Down
5 changes: 2 additions & 3 deletions frontend/src/components/Database/DatabaseCells.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,8 @@ const columns = (handleOpenDialog: (value: ImageUrls[], expId?: string) => void)
width={'100%'}
height={'100%'}
/>
</Box>
)
},
</Box>
)}
},
]

Expand Down
Loading