/* * SPDX-FileCopyrightText: 2019-2021 Vishesh Handa * * SPDX-License-Identifier: AGPL-3.0-or-later */ import 'dart:convert'; import 'githost.dart'; import 'github.dart'; typedef JsonMap = Map; typedef JsonList = List; class GitHubFake implements GitHost { String data; GitHubFake(this.data); @override void init(OAuthCallback oAuthCallback) {} @override Future launchOAuthScreen() async {} @override Future> getUserInfo() async { var ex = Exception("Not Implemented"); return Result.fail(ex); } @override Future> addDeployKey( String sshPublicKey, String repoFullName) async { var ex = Exception("Not Implemented"); return Result.fail(ex); } @override Future> createRepo(String name) async { var ex = Exception("Not Implemented"); return Result.fail(ex); } @override Future> getRepo(String name) async { var ex = Exception("Not Implemented"); return Result.fail(ex); } @override Future>> listRepos() async { List list = jsonDecode(data); var repos = []; for (var d in list) { var map = Map.from(d); var repo = GitHub.repoFromJson(map); repos.add(repo); } return Result(repos); } }