fix(no-card) penyesuaian filter user privilege configuration
continuous-integration/drone/tag Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
parent
6165763a0b
commit
eb90b43429
|
@ -2,5 +2,7 @@ import { BaseFilterEntity } from 'src/core/modules/domain/entities/base-filter.e
|
|||
|
||||
export interface FilterUserPrivilegeConfigurationEntity
|
||||
extends BaseFilterEntity {
|
||||
modules: string[];
|
||||
menus: string[];
|
||||
user_privilege_ids: string[];
|
||||
}
|
||||
|
|
|
@ -6,10 +6,16 @@ import {
|
|||
Param,
|
||||
RelationParam,
|
||||
} from 'src/core/modules/domain/entities/base-filter.entity';
|
||||
import { ORDER_TYPE } from 'src/core/strings/constants/base.constants';
|
||||
|
||||
@Injectable()
|
||||
export class IndexUserPrivilegeConfigurationManager extends BaseIndexManager<UserPrivilegeConfigurationEntity> {
|
||||
async prepareData(): Promise<void> {
|
||||
Object.assign(this.filterParam, {
|
||||
order_by: `${this.tableName}.index`,
|
||||
order_type: ORDER_TYPE.ASC,
|
||||
limit: 100,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -34,12 +40,24 @@ export class IndexUserPrivilegeConfigurationManager extends BaseIndexManager<Use
|
|||
}
|
||||
|
||||
get specificFilter(): Param[] {
|
||||
return;
|
||||
return [];
|
||||
}
|
||||
|
||||
setQueryFilter(
|
||||
queryBuilder: SelectQueryBuilder<UserPrivilegeConfigurationEntity>,
|
||||
): SelectQueryBuilder<UserPrivilegeConfigurationEntity> {
|
||||
if (this.filterParam.modules) {
|
||||
queryBuilder.andWhere('module In (:...modules)', {
|
||||
modules: this.filterParam.modules,
|
||||
});
|
||||
}
|
||||
|
||||
if (this.filterParam.menus) {
|
||||
queryBuilder.andWhere('menu In (:...menus)', {
|
||||
menus: this.filterParam.menus,
|
||||
});
|
||||
}
|
||||
|
||||
if (this.filterParam.user_privilege_ids) {
|
||||
queryBuilder.andWhere(`user_privilege_id In (:...privilegeIds)`, {
|
||||
privilegeIds: this.filterParam.user_privilege_ids,
|
||||
|
|
|
@ -7,6 +7,18 @@ export class FilterUserPrivilegeConfigurationDto
|
|||
extends BaseFilterDto
|
||||
implements FilterUserPrivilegeConfigurationEntity
|
||||
{
|
||||
@ApiProperty({ type: ['string'], required: false })
|
||||
@Transform((body) => {
|
||||
return Array.isArray(body.value) ? body.value : [body.value];
|
||||
})
|
||||
modules: string[];
|
||||
|
||||
@ApiProperty({ type: ['string'], required: false })
|
||||
@Transform((body) => {
|
||||
return Array.isArray(body.value) ? body.value : [body.value];
|
||||
})
|
||||
menus: string[];
|
||||
|
||||
@ApiProperty({ type: ['string'], required: false })
|
||||
@Transform((body) => {
|
||||
return Array.isArray(body.value) ? body.value : [body.value];
|
||||
|
|
|
@ -7,6 +7,7 @@ import { UserPrivilegeConfigurationDto } from './dto/user-privilege-configuratio
|
|||
import { UserPrivilegeConfigurationEntity } from '../domain/entities/user-privilege-configuration.entity';
|
||||
import { FilterUserPrivilegeConfigurationDto } from './dto/filter-user-privilege-configuration.dto';
|
||||
import { PaginationResponse } from 'src/core/response/domain/ok-response.interface';
|
||||
import { Pagination } from 'src/core/response';
|
||||
|
||||
@ApiTags(
|
||||
`${MODULE_NAME.USER_PRIVILEGE_CONFIGURATION.split('-').join(' ')} - data`,
|
||||
|
@ -27,6 +28,7 @@ export class UserPrivilegeConfigurationController {
|
|||
}
|
||||
|
||||
@Get()
|
||||
@Pagination()
|
||||
async index(
|
||||
@Query() params: FilterUserPrivilegeConfigurationDto,
|
||||
): Promise<PaginationResponse<UserPrivilegeConfigurationEntity>> {
|
||||
|
|
Loading…
Reference in New Issue