/// <summary>Create <see cref="Repository"/>.</summary> /// <param name="gitAccessor">Git repository access provider.</param> /// <param name="workingDirectory">Repository working directory.</param> /// <param name="load"><c>true</c> to load repository; <c>false</c> otherwise.</param> private Repository(IGitAccessor gitAccessor, string workingDirectory, bool load) { Verify.Argument.IsNotNull(gitAccessor, nameof(gitAccessor)); Verify.Argument.IsNotNull(workingDirectory, nameof(workingDirectory)); _workingDirectory = GetWorkingDirectory(workingDirectory); _gitDirectory = GetGitDirectory(_workingDirectory); _configurationManager = GetConfigurationManager(_gitDirectory); _accessor = gitAccessor.CreateRepositoryAccessor(this); _revisionCache = new RevisionCache(this); _configuration = new ConfigParametersCollection(this); _status = new Status(this); _stash = new StashedStatesCollection(this); _refs = new RefsCollection(this); _notes = new NotesCollection(this); _remotes = new RemotesCollection(this); _submodules = new SubmodulesCollection(this); _users = new UsersCollection(this); _hooks = new HooksCollection(this); if (load) { try { LoadCore(this, null, CancellationToken.None); } catch { Dispose(); throw; } } }
/// <summary> /// Constructor. /// </summary> /// <param name="foreignKeyAccessor">The foreign key accessor responsible accessing the child information for the parent.</param> /// <param name="destinationRepositoryAccessor">The destination entity repository accessor.</param> public DelegatingHasManyResourceEnricher( IHasManyResourceAccessor <TSource, TDestination> foreignKeyAccessor, IRepositoryAccessor <TDestinationEntity> destinationRepositoryAccessor) { _foreignKeyAccessor = foreignKeyAccessor; _destinationRepositoryAccessor = destinationRepositoryAccessor; }
/// <summary>Create <see cref="Repository"/>.</summary> /// <param name="gitAccessor">Git repository access provider.</param> /// <param name="workingDirectory">Repository working directory.</param> /// <param name="load"><c>true</c> to load repository; <c>false</c> otherwise.</param> private Repository(IGitAccessor gitAccessor, string workingDirectory, bool load) { Verify.Argument.IsNotNull(gitAccessor, "gitAccessor"); Verify.Argument.IsNotNull(workingDirectory, "workingDirectory"); _workingDirectory = GetWorkingDirectory(workingDirectory); _gitDirectory = GetGitDirectory(_workingDirectory); _configurationManager = GetConfigurationManager(_gitDirectory); _accessor = gitAccessor.CreateRepositoryAccessor(this); _revisionCache = new RevisionCache(this); _configuration = new ConfigParametersCollection(this); _status = new Status(this); _stash = new StashedStatesCollection(this); _refs = new RefsCollection(this); _notes = new NotesCollection(this); _remotes = new RemotesCollection(this); _submodules = new SubmodulesCollection(this); _users = new UsersCollection(this); _hooks = new HooksCollection(this); if(load) { try { LoadCore(this, null, CancellationToken.None); } catch { Dispose(); throw; } } }
/// <summary> /// 获取指定类型的IRepository,不存在抛出InvalidOperationException异常 /// </summary> public static TRepository GetRequiredRepository <TRepository>(this IRepositoryAccessor dataAccessor) where TRepository : IRepository { var repo = dataAccessor.GetRepository <TRepository>(); if (repo == null) { throw new InvalidOperationException($"类型 {typeof(TRepository).FullName} 未找到"); } return(repo); }
public DefaultStorageService(ClusterService clusterSvce, IOptionsMonitor <GeneralOption> option, IOptionsMonitor <DbOption> dbOption, ILogger <DefaultStorageService> logger, IMimeProvider mimeProvider, IRepositoryAccessor repoAccessor) { _clusterSvce = clusterSvce; _logger = logger; _mimeProvider = mimeProvider; _repoAccessor = repoAccessor; _dbOption = dbOption; _option = option; }
public FileUploadService(IStorageService storageSvce, ClusterService clusterSvce, ILogger <FileUploadService> logger, IMimeProvider mimeProvider, IRepositoryAccessor dataAccessor, AppSecretSigner appSecretSigner, IFileTokenCodec fileTokenCodec, IOwnerTokenCodec ownerTokenCodec, IHttpContextAccessor httpCtxAccessor) { _storageSvce = storageSvce; _clusterSvce = clusterSvce; _logger = logger; _mimeProvider = mimeProvider; _dataAccessor = dataAccessor; _appSecretSigner = appSecretSigner; _fileTokenCodec = fileTokenCodec; _ownerTokenCodec = ownerTokenCodec; _httpCtxAccessor = httpCtxAccessor; }
public RawFileHandler(IOptionsMonitor <GeneralOption> options, IRepositoryAccessor repoAccessor) { _options = options; _repoAccessor = repoAccessor; }
public Repository(string id, IRepositoryAccessor accessor) { this.UrlName = id; this.Accessor = accessor; }
/// <summary> /// Initializes a new instance of the <see cref="RepositoryManager"/> class. /// </summary> /// <param name="accessor">The accessor.</param> /// <param name="settings">The settings.</param> public RepositoryManager(IRepositoryAccessor accessor, IOptions <RepositoryAppSettings> settings) { _accessor = accessor; _settings = settings.Value; }