mirror of
https://github.com/certd/certd.git
synced 2026-06-24 19:47:34 +08:00
chore: project userid fixed -1
This commit is contained in:
@@ -19,6 +19,10 @@ export class ProjectEntity {
|
||||
@Column({ name: 'disabled', comment: '禁用' })
|
||||
disabled: boolean;
|
||||
|
||||
@Column({ name: 'is_system', comment: '是否系统项目' })
|
||||
isSystem: boolean; //系统项目内的流水线允许运行管理员级别的插件
|
||||
|
||||
|
||||
@Column({
|
||||
name: 'create_time',
|
||||
comment: '创建时间',
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ export class ProjectMemberService extends BaseService<ProjectMemberEntity> {
|
||||
if (!projectId) {
|
||||
throw new Error('项目ID不能为空');
|
||||
}
|
||||
if (!userId) {
|
||||
if (!userId || userId <= 0) {
|
||||
throw new Error('用户ID不能为空');
|
||||
}
|
||||
const exist = await this.repository.findOne({
|
||||
|
||||
@@ -11,9 +11,12 @@ const projectCache = new LRUCache<string, any>({
|
||||
ttl: 1000 * 60 * 10,
|
||||
});
|
||||
|
||||
const ENTERPRISE_USER_ID = -1 //企业模式下 企业userId 固定为-1
|
||||
|
||||
@Provide()
|
||||
@Scope(ScopeEnum.Request, { allowDowngrade: true })
|
||||
export class ProjectService extends BaseService<ProjectEntity> {
|
||||
|
||||
@InjectEntityModel(ProjectEntity)
|
||||
repository: Repository<ProjectEntity>;
|
||||
|
||||
@@ -36,7 +39,7 @@ export class ProjectService extends BaseService<ProjectEntity> {
|
||||
const exist = await this.repository.findOne({
|
||||
where: {
|
||||
name,
|
||||
userId: 0,
|
||||
userId: ENTERPRISE_USER_ID,
|
||||
},
|
||||
});
|
||||
if (exist) {
|
||||
@@ -57,7 +60,7 @@ export class ProjectService extends BaseService<ProjectEntity> {
|
||||
async setDisabled(id: number, disabled: boolean) {
|
||||
await this.repository.update({
|
||||
id,
|
||||
userId: 0,
|
||||
userId: ENTERPRISE_USER_ID,
|
||||
}, {
|
||||
disabled,
|
||||
});
|
||||
@@ -69,7 +72,7 @@ export class ProjectService extends BaseService<ProjectEntity> {
|
||||
const projectIds = memberList.map(item => item.projectId);
|
||||
const projectList = await this.repository.createQueryBuilder('project')
|
||||
.where(' project.disabled = false')
|
||||
.where(' project.userId = :userId', { userId: 0 })
|
||||
.where(' project.userId = :userId', { userId: ENTERPRISE_USER_ID })
|
||||
.where(' project.id IN (:...projectIds) or project.adminId = :userId', { projectIds, userId })
|
||||
.getMany();
|
||||
|
||||
@@ -93,7 +96,7 @@ export class ProjectService extends BaseService<ProjectEntity> {
|
||||
let projectList: any = await this.find({
|
||||
where: {
|
||||
disabled: false,
|
||||
userId: 0,
|
||||
userId: ENTERPRISE_USER_ID,
|
||||
},
|
||||
})
|
||||
const projectMemberItemList: ProjectMemberItem[] = projectList
|
||||
@@ -269,4 +272,9 @@ export class ProjectService extends BaseService<ProjectEntity> {
|
||||
})
|
||||
}
|
||||
|
||||
async isAdmin(projectId: number): Promise<boolean> {
|
||||
const project = await this.info(projectId);
|
||||
return project?.isSystem ?? false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user