mirror of
https://github.com/Shadowfita/docmost.git
synced 2025-11-19 03:01:10 +10:00
Implement Space membership by group
* Add all users to default group * Fixes and updates
This commit is contained in:
@ -9,6 +9,7 @@ import { WorkspaceModule } from '../workspace/workspace.module';
|
||||
import { SignupService } from './services/signup.service';
|
||||
import { UserModule } from '../user/user.module';
|
||||
import { SpaceModule } from '../space/space.module';
|
||||
import { GroupModule } from '../group/group.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@ -26,6 +27,7 @@ import { SpaceModule } from '../space/space.module';
|
||||
UserModule,
|
||||
WorkspaceModule,
|
||||
SpaceModule,
|
||||
GroupModule,
|
||||
],
|
||||
controllers: [AuthController],
|
||||
providers: [AuthService, SignupService, TokenService, JwtStrategy],
|
||||
|
||||
@ -51,7 +51,7 @@ export class AuthService {
|
||||
}
|
||||
|
||||
async setup(createAdminUserDto: CreateAdminUserDto) {
|
||||
const user: User = await this.signupService.firstSetup(createAdminUserDto);
|
||||
const user: User = await this.signupService.initialSetup(createAdminUserDto);
|
||||
|
||||
const tokens: TokensDto = await this.tokenService.generateTokens(user);
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ import { CreateWorkspaceDto } from '../../workspace/dto/create-workspace.dto';
|
||||
import { Workspace } from '../../workspace/entities/workspace.entity';
|
||||
import { SpaceService } from '../../space/space.service';
|
||||
import { CreateAdminUserDto } from '../dto/create-admin-user.dto';
|
||||
import { GroupUserService } from '../../group/services/group-user.service';
|
||||
|
||||
@Injectable()
|
||||
export class SignupService {
|
||||
@ -18,6 +19,7 @@ export class SignupService {
|
||||
private workspaceRepository: WorkspaceRepository,
|
||||
private workspaceService: WorkspaceService,
|
||||
private spaceService: SpaceService,
|
||||
private groupUserService: GroupUserService,
|
||||
private dataSource: DataSource,
|
||||
) {}
|
||||
|
||||
@ -39,7 +41,6 @@ export class SignupService {
|
||||
async (transactionManager: EntityManager) => {
|
||||
let user = this.prepareUser(createUserDto);
|
||||
user = await transactionManager.save(user);
|
||||
|
||||
return user;
|
||||
},
|
||||
this.dataSource,
|
||||
@ -57,7 +58,9 @@ export class SignupService {
|
||||
workspaceId,
|
||||
);
|
||||
if (userCheck) {
|
||||
throw new BadRequestException('You have an account on this workspace');
|
||||
throw new BadRequestException(
|
||||
'You already have an account on this workspace',
|
||||
);
|
||||
}
|
||||
|
||||
return await transactionWrapper(
|
||||
@ -72,6 +75,14 @@ export class SignupService {
|
||||
undefined,
|
||||
manager,
|
||||
);
|
||||
|
||||
// add user to default group
|
||||
await this.groupUserService.addUserToDefaultGroup(
|
||||
user.id,
|
||||
workspaceId,
|
||||
manager,
|
||||
);
|
||||
|
||||
return user;
|
||||
},
|
||||
this.dataSource,
|
||||
@ -99,7 +110,7 @@ export class SignupService {
|
||||
);
|
||||
}
|
||||
|
||||
async firstSetup(
|
||||
async initialSetup(
|
||||
createAdminUserDto: CreateAdminUserDto,
|
||||
manager?: EntityManager,
|
||||
): Promise<User> {
|
||||
@ -119,3 +130,11 @@ export class SignupService {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// create user -
|
||||
// create workspace -
|
||||
// create default group
|
||||
// create space
|
||||
// add group to space instead of user
|
||||
|
||||
// add new users to default group
|
||||
|
||||
Reference in New Issue
Block a user