Skip to content

Commit c63e728

Browse files
feat: add crud + permission api
1 parent dd73467 commit c63e728

File tree

5 files changed

+153
-66
lines changed

5 files changed

+153
-66
lines changed

src/components/ApplicationGroup/AppGroup.service.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,16 +194,17 @@ export const getAppGroupList = (envId: number): Promise<AppGroupList> => {
194194
return get(`${Routes.APP_LIST_GROUP}/${envId}`)
195195
}
196196

197-
export const getEnvGroupList = (envId: number): Promise<EnvGroupListResponse> => {
198-
return get(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUPS}`)
197+
export const getEnvGroupList = (envId: number, filterParentType:string): Promise<EnvGroupListResponse> => {
198+
return get(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUPS}?groupType=${filterParentType}`)
199199
}
200200

201201
export const getEnvGroup = (envId: number, groupId: number): Promise<EnvGroupResponse> => {
202202
return get(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUP}/${groupId}`)
203203
}
204204

205-
export const createEnvGroup = (envId: string, data: EnvGroupListType, isEdit: boolean): Promise<EnvGroupResponse> => {
205+
export const createEnvGroup = (envId: string, data, isEdit: boolean): Promise<EnvGroupResponse> => {
206206
if (isEdit) {
207+
console.log('edit')
207208
return put(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUP}`, data)
208209
}
209210
return post(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUP}`, data)
@@ -213,6 +214,6 @@ export const appGroupPermission = (envId: string, data: CheckPermissionType): Pr
213214
return post(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUP}/${Routes.PERMISSION}`, data)
214215
}
215216

216-
export const deleteEnvGroup = (envId: string, groupId: string): Promise<EnvGroupResponse> => {
217-
return trash(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUP}/${groupId}`)
217+
export const deleteEnvGroup = (envId: string, groupId: string, filterParentType?:string): Promise<EnvGroupResponse> => {
218+
return trash(`${Routes.ENVIRONMENT}/${envId}/${Routes.GROUP}/${groupId}?groupType=${filterParentType}`)
218219
}

src/components/ApplicationGroup/AppGroup.types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,6 @@ export interface SearchBarType {
385385
}
386386

387387
export enum FilterParentType {
388-
app = 'app',
389-
env = 'env',
388+
app = 'app-group',
389+
env = 'env-group',
390390
}

src/components/ApplicationGroup/AppGroupDetailsRoute.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export default function AppGroupDetailsRoute({ isSuperAdmin }: AppGroupAdminType
101101
const getSavedFilterData = async (groupId?: number): Promise<void> => {
102102
setSelectedAppList([])
103103
setAppListLoading(true)
104-
const { result } = await getEnvGroupList(+envId)
104+
const { result } = await getEnvGroupList(+envId, FilterParentType.app) //FIXME if required
105105
if (result) {
106106
const _groupFilterOption = []
107107
let _selectedGroup
@@ -227,6 +227,7 @@ export default function AppGroupDetailsRoute({ isSuperAdmin }: AppGroupAdminType
227227
if (groupId) {
228228
// true for edit
229229
_selectedGroup = groupFilterOptions.find((group) => group.value === groupId)
230+
console.log('_selectedGroup', _selectedGroup)
230231
const groupAppIds = _selectedGroup?.appIds || []
231232
for (const appId of groupAppIds) {
232233
_allAppIds.push(appId)

src/components/ApplicationGroup/CreateAppGroup.tsx

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,15 @@ export default function CreateAppGroup({
2828
unAuthorizedApps,
2929
filterParentType,
3030
}: CreateGroupType) {
31-
const { envId } = useParams<{ envId: string }>()
31+
const { appId, envId } = useParams<{ appId: string; envId: string }>()
3232
const CreateGroupRef = useRef<HTMLDivElement>(null)
3333
const [isLoading, setLoading] = useState(false)
3434
const [showErrorMsg, setShowErrorMsg] = useState(false)
3535
const [appGroupName, setAppGroupName] = useState<string>(selectedAppGroup?.label ?? '')
3636
const [appGroupDescription, setAppGroupDescription] = useState<string>(selectedAppGroup?.description ?? '')
37-
const [selectedTab, setSelectedTab] = useState<CreateGroupTabs>(CreateGroupTabs.SELECTED_APPS)
37+
const [selectedTab, setSelectedTab] = useState<CreateGroupTabs>(
38+
filterParentType === FilterParentType.env ? CreateGroupTabs.SELECTED_ENV : CreateGroupTabs.SELECTED_APPS,
39+
)
3840
const [allAppSearchText, setAllAppSearchText] = useState('')
3941
const [allAppSearchApplied, setAllAppSearchApplied] = useState(false)
4042
const [selectedAppSearchText, setSelectedAppSearchText] = useState('')
@@ -151,6 +153,7 @@ export default function CreateAppGroup({
151153
}
152154

153155
const renderSelectedApps = (): JSX.Element => {
156+
console.log('selectedApps')
154157
return (
155158
<div>
156159
<SearchBar
@@ -216,6 +219,7 @@ export default function CreateAppGroup({
216219
}
217220

218221
const renderAllApps = (): JSX.Element => {
222+
console.log('allApps')
219223
return (
220224
<div>
221225
<SearchBar
@@ -262,6 +266,7 @@ export default function CreateAppGroup({
262266
}
263267

264268
const onTabChange = (e): void => {
269+
console.log('onTabChange', e.currentTarget.dataset.tabName)
265270
setSelectedTab(e.currentTarget.dataset.tabName)
266271
}
267272

@@ -288,6 +293,8 @@ export default function CreateAppGroup({
288293
return 'Max 30 char is allowed in name'
289294
}
290295
}
296+
console.log(selectedTab, CreateGroupTabs.SELECTED_APPS, CreateGroupTabs.SELECTED_ENV)
297+
console.log(selectedTab === (CreateGroupTabs.SELECTED_APPS || selectedTab === CreateGroupTabs.SELECTED_ENV))
291298

292299
const renderBodySection = (): JSX.Element => {
293300
if (isLoading) {
@@ -348,7 +355,10 @@ export default function CreateAppGroup({
348355
appList.length,
349356
)}
350357
</ul>
351-
{selectedTab === CreateGroupTabs.SELECTED_APPS ? renderSelectedApps() : renderAllApps()}
358+
359+
{selectedTab === CreateGroupTabs.SELECTED_APPS || selectedTab === CreateGroupTabs.SELECTED_ENV
360+
? renderSelectedApps()
361+
: renderAllApps()}
352362
</div>
353363
</div>
354364
)
@@ -386,12 +396,15 @@ export default function CreateAppGroup({
386396
id: selectedAppGroup ? +selectedAppGroup.value : null,
387397
name: appGroupName,
388398
description: appGroupDescription,
389-
appIds: payloadAppIds,
399+
resourceIds: payloadAppIds,
400+
groupType: filterParentType,
390401
}
391402

392403
try {
393-
const { result } = await createEnvGroup(envId, payload, !!selectedAppGroup?.value)
404+
const id = filterParentType === FilterParentType.env ? appId : envId
405+
const { result } = await createEnvGroup(id, payload, !!selectedAppGroup?.value)
394406
toast.success('Successfully saved')
407+
console.log('result', result)
395408
closePopup(e, result.id)
396409
} catch (err) {
397410
showError(err)

0 commit comments

Comments
 (0)