mirror of
https://github.com/whyour/qinglong.git
synced 2026-09-20 16:07:11 +08:00
feat(ql3): establish 3.0 incubation baseline
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import type {
|
||||
PolicySubject,
|
||||
ProjectRoleBindingRecord,
|
||||
} from '../domain/projectPolicy';
|
||||
import type { ProjectOwnerBootstrapChallengeRecord } from '../domain/projectOwnerBootstrap';
|
||||
|
||||
export interface IssueProjectOwnerBootstrapChallengeCommand {
|
||||
projectId: string;
|
||||
challengeId: string;
|
||||
tokenDigest: string;
|
||||
issuedAtMs: number;
|
||||
expiresAtMs: number;
|
||||
}
|
||||
|
||||
export interface ClaimProjectOwnerBootstrapChallengeCommand {
|
||||
projectId: string;
|
||||
challengeId: string;
|
||||
tokenDigest: string;
|
||||
subject: PolicySubject;
|
||||
claimedAtMs: number;
|
||||
}
|
||||
|
||||
export interface ClaimProjectOwnerBootstrapChallengeResult {
|
||||
status: 'claimed' | 'existing';
|
||||
binding: Readonly<ProjectRoleBindingRecord>;
|
||||
}
|
||||
|
||||
export interface ProjectOwnerBootstrapRepository {
|
||||
issue(
|
||||
command: IssueProjectOwnerBootstrapChallengeCommand,
|
||||
): Promise<Readonly<ProjectOwnerBootstrapChallengeRecord>>;
|
||||
|
||||
claim(
|
||||
command: ClaimProjectOwnerBootstrapChallengeCommand,
|
||||
): Promise<ClaimProjectOwnerBootstrapChallengeResult>;
|
||||
}
|
||||
Reference in New Issue
Block a user