chore: project userid fixed -1

This commit is contained in:
xiaojunnuo
2026-03-04 23:15:48 +08:00
parent 6c546b5290
commit 17dd77cc96
21 changed files with 97 additions and 72 deletions
@@ -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: '创建时间',
@@ -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;
}
}