feat: Add workspace delete feature (#896)
* Add workspace delete feature Co-authored-by: v1b3m <vibenjamin6@gmail.com> * Add fixes and refactors Co-authored-by: v1b3m <vibenjamin6@gmail.com> * Add more fixes Co-authored-by: v1b3m <vibenjamin6@gmail.com> * Add requested changes Co-authored-by: v1b3m <vibenjamin6@gmail.com> * Add workspace delete mutation Co-authored-by: v1b3m <vibenjamin6@gmail.com> * Complete v1 of deletion Co-authored-by: Benjamin Mayanja <vibenjamin6@gmail.com> * Revert unwanted changes Co-authored-by: Benjamin Mayanja <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Update debouce import Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Fix server e2e tests on CI #3 * Fix server e2e tests on CI #4 * Fix server e2e tests on CI #5 * Added generic relation cell (#969) * Added generic relation cell * Deactivated debug * Added default warning * Put back display component * Removed unused types * fix: 906 edit avatar style (#923) * fix: 906 edit avatar style * fix: 906 add avatar size enum and mapping for font and height * fix: 906 remove unused vars * chore: optimize size of front docker image (#965) * Enable to drag under New button on pipeline (#970) * Add minor fix Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> --------- Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> Co-authored-by: Charles Bochet <charles@twenty.com> Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com> Co-authored-by: 310387 <139059022+310387@users.noreply.github.com> Co-authored-by: Lucas Vieira <vieiralucas4@gmail.com> Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
This commit is contained in:
@ -20,7 +20,12 @@ import { FileUploadService } from 'src/core/file/services/file-upload.service';
|
||||
import { streamToBuffer } from 'src/utils/stream-to-buffer';
|
||||
import { AbilityGuard } from 'src/guards/ability.guard';
|
||||
import { CheckAbilities } from 'src/decorators/check-abilities.decorator';
|
||||
import { UpdateWorkspaceAbilityHandler } from 'src/ability/handlers/workspace.ability-handler';
|
||||
import {
|
||||
UpdateWorkspaceAbilityHandler,
|
||||
DeleteWorkspaceAbilityHandler,
|
||||
} from 'src/ability/handlers/workspace.ability-handler';
|
||||
import { AuthUser } from 'src/decorators/auth-user.decorator';
|
||||
import { User } from 'src/core/@generated/user/user.model';
|
||||
|
||||
@UseGuards(JwtAuthGuard)
|
||||
@Resolver(() => Workspace)
|
||||
@ -95,4 +100,20 @@ export class WorkspaceResolver {
|
||||
|
||||
return paths[0];
|
||||
}
|
||||
|
||||
@UseGuards(AbilityGuard)
|
||||
@CheckAbilities(DeleteWorkspaceAbilityHandler)
|
||||
@Mutation(() => Workspace)
|
||||
async deleteCurrentWorkspace(
|
||||
@AuthWorkspace() { id: workspaceId }: Workspace,
|
||||
@PrismaSelector({ modelName: 'Workspace' })
|
||||
{ value: select }: PrismaSelect<'Workspace'>,
|
||||
@AuthUser() { id: userId }: User,
|
||||
) {
|
||||
return this.workspaceService.deleteWorkspace({
|
||||
workspaceId,
|
||||
select,
|
||||
userId,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user