feat: add 'other' product type for miscellaneous sites (tracking only, no remote control)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -49,7 +49,7 @@ export class TenantsController {
|
||||
) {}
|
||||
|
||||
@Get()
|
||||
@RequirePermissions('hamkar:read', 'khanegi:read', { mode: 'any' })
|
||||
@RequirePermissions('hamkar:read', 'khanegi:read', 'others:read', { mode: 'any' })
|
||||
async findAll(
|
||||
@Query('product') product?: ProductType,
|
||||
@CurrentUser() user?: AuthUser,
|
||||
@@ -65,7 +65,7 @@ export class TenantsController {
|
||||
}
|
||||
|
||||
@Post('upload-avatar')
|
||||
@RequirePermissions('hamkar:write', 'khanegi:write', { mode: 'any' })
|
||||
@RequirePermissions('hamkar:write', 'khanegi:write', 'others:write', { mode: 'any' })
|
||||
@UseInterceptors(
|
||||
FileInterceptor('file', {
|
||||
storage: diskStorage({
|
||||
@@ -103,7 +103,7 @@ export class TenantsController {
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
@RequirePermissions('hamkar:read', 'khanegi:read', { mode: 'any' })
|
||||
@RequirePermissions('hamkar:read', 'khanegi:read', 'others:read', { mode: 'any' })
|
||||
async findOne(@Param('id') id: string, @CurrentUser() user: AuthUser) {
|
||||
const tenant = await this.tenantsService.findOne(id);
|
||||
this.assertProductAccess(user, tenant.product, 'read');
|
||||
@@ -111,14 +111,14 @@ export class TenantsController {
|
||||
}
|
||||
|
||||
@Post()
|
||||
@RequirePermissions('hamkar:write', 'khanegi:write', { mode: 'any' })
|
||||
@RequirePermissions('hamkar:write', 'khanegi:write', 'others:write', { mode: 'any' })
|
||||
create(@Body() dto: CreateTenantDto, @CurrentUser() user: AuthUser) {
|
||||
this.assertProductAccess(user, dto.product, 'write');
|
||||
return this.tenantsService.create(dto, user.id);
|
||||
}
|
||||
|
||||
@Patch(':id')
|
||||
@RequirePermissions('hamkar:write', 'khanegi:write', { mode: 'any' })
|
||||
@RequirePermissions('hamkar:write', 'khanegi:write', 'others:write', { mode: 'any' })
|
||||
async update(
|
||||
@Param('id') id: string,
|
||||
@Body() dto: UpdateTenantDto,
|
||||
@@ -130,7 +130,7 @@ export class TenantsController {
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
@RequirePermissions('hamkar:write', 'khanegi:write', { mode: 'any' })
|
||||
@RequirePermissions('hamkar:write', 'khanegi:write', 'others:write', { mode: 'any' })
|
||||
async remove(@Param('id') id: string, @CurrentUser() user: AuthUser) {
|
||||
const tenant = await this.tenantsService.findOne(id);
|
||||
this.assertProductAccess(user, tenant.product, 'write');
|
||||
|
||||
Reference in New Issue
Block a user