LCOV - code coverage report
Current view: top level - src/services/editor/versions - version_editor_service.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 11 29 37.9 %
Date: 2020-12-04 18:41:24 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:flutter/cupertino.dart';
       2             : import 'package:pal/src/database/entity/version_entity.dart';
       3             : import 'package:pal/src/database/repository/version_repository.dart';
       4             : import 'package:pal/src/services/package_version.dart';
       5             : 
       6             : abstract class VersionEditorService {
       7             : 
       8           7 :   factory VersionEditorService.build({
       9             :     @required VersionRepository versionRepository,
      10             :     @required PackageVersionReader packageVersionReader
      11           7 :   }) => VersionEditorHttpService(versionRepository, packageVersionReader);
      12             : 
      13           0 :   Future<VersionEntity> getCurrentVersion() => throw "not implemented yet";
      14             : 
      15           0 :   Future<List<VersionEntity>> getAll() => throw "not implemented yet";
      16             : 
      17           0 :   Future<VersionEntity> getVersion(String name) => throw "not implemented yet";
      18             : 
      19           0 :   Future<VersionEntity> createVersion(VersionEntity version) => throw "not implemented yet";
      20             : 
      21           0 :   Future<int> getOrCreateVersionId(String versionName) => throw "not implemented yet";
      22             : }
      23             : 
      24             : class VersionEditorHttpService implements VersionEditorService {
      25             :   final VersionRepository versionRepository;
      26             :   final PackageVersionReader packageVersionReader;
      27             : 
      28           7 :   VersionEditorHttpService(this.versionRepository, this.packageVersionReader);
      29             : 
      30             :   @override
      31           1 :   Future<VersionEntity> getCurrentVersion() async {
      32           2 :     var currentVersion = packageVersionReader.version;
      33           1 :     return versionRepository
      34           1 :         .getVersions(name: currentVersion)
      35           6 :         .then((res) => res.numberOfElements > 0 ? res.entities.first : null);
      36             :   }
      37             : 
      38           1 :   @override
      39             :   Future<List<VersionEntity>> getAll() {
      40           4 :     return versionRepository.getVersions(pageSize: 1000).then((res) =>
      41           3 :         res.numberOfElements > 0 ? res.entities : List<VersionEntity>());
      42             :   }
      43             : 
      44           0 :   @override
      45             :   Future<VersionEntity> getVersion(String name) {
      46           0 :     return versionRepository.getVersion(name: name);
      47             :   }
      48             : 
      49           0 :   @override
      50             :   Future<VersionEntity> createVersion(VersionEntity createVersion) {
      51           0 :     return versionRepository.createVersion(createVersion);
      52             :   }
      53             : 
      54             :   @override
      55           0 :   Future<int> getOrCreateVersionId(String versionName) async {
      56           0 :     if (versionName == null || versionName.length <= 0) {
      57             :       throw 'invalid version name';
      58             :     }
      59             :     int versionMinId;
      60           0 :     VersionEntity resVersion = await this.getVersion(versionName);
      61           0 :     if (resVersion?.id != null) {
      62           0 :       versionMinId = resVersion.id;
      63             :     } else {
      64           0 :       VersionEntity resVersion = await this.createVersion(
      65           0 :         VersionEntity(name: versionName),
      66             :       );
      67           0 :       if (resVersion?.id != null) {
      68           0 :         versionMinId = resVersion?.id;
      69             :       } else {
      70             :         throw 'page id is null';
      71             :       }
      72             :     }
      73             :     return versionMinId;
      74             :   }
      75             : }

Generated by: LCOV version 1.14