|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import {User} from '../user';
- import {Repo, RepoAction} from '../repo';
- import {LogService, LogServiceImpl} from '../log';
-
- export interface RepoLogService {
- logCreateRepo(user: User, repoMetadata: Repo, ownerName: string): Promise<void>;
- logDeleteRepo(user: User, repo: Repo): Promise<void>;
- }
-
- export class RepoLogServiceImpl implements RepoLogService {
- private readonly logService: LogService;
-
- constructor() {
- this.logService = new LogServiceImpl();
- }
-
- private async doLogCreateRepo(user: User, repoMetadata: Repo, ownerName: string): Promise<void> {
- try {
- await this.logService.create(
- user,
- RepoAction.REPO_CREATED,
- {
- repoId: repoMetadata.id.toString(),
- repoName: repoMetadata.name,
- ownerId: repoMetadata.ownerId.toString(),
- ownerName,
- ownerType: repoMetadata.ownerType,
- },
- );
- } catch {}
- }
-
- async logCreateRepo(user: User, repoMetadata: Repo, ownerName: string): Promise<void> {
- await this.doLogCreateRepo(user, repoMetadata, ownerName);
- }
-
- private async doLogDeleteRepo(user: User, repo: Repo): Promise<void> {
- try {
- await this.logService.create(
- user,
- RepoAction.REPO_REMOVED,
- {
- repoId: repo.id.toString(),
- repoName: repo.name,
- },
- );
- } catch {}
- }
-
- async logDeleteRepo(user: User, repo: Repo): Promise<void> {
- await this.doLogDeleteRepo(user, repo);
- }
- }
|