Web API for code.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

29 lines
929 B

  1. import * as codeCore from '@modal/code-core';
  2. export interface GitService {
  3. createRepo(options: codeCore.git.CreateRepoData, user?: codeCore.common.User): Promise<codeCore.git.Repo>;
  4. deleteRepo(repoId: codeCore.git.Repo['id'], user?: codeCore.common.User): Promise<void>
  5. }
  6. export class GitServiceImpl implements GitService {
  7. private readonly coreGitService: codeCore.git.GitService;
  8. constructor() {
  9. this.coreGitService = new codeCore.git.GitServiceImpl();
  10. }
  11. async createRepo(options: codeCore.git.CreateRepoData, user?: codeCore.common.User): Promise<codeCore.git.Repo> {
  12. if (user) {
  13. return this.coreGitService.create(options, user);
  14. }
  15. throw new Error('Unauthorized');
  16. }
  17. async deleteRepo(repoId: codeCore.git.Repo['id'], user?: codeCore.common.User): Promise<void> {
  18. if (user) {
  19. await this.coreGitService.delete(repoId, user);
  20. }
  21. throw new Error('Unauthorized');
  22. }
  23. }