Ejemplo n.º 1
0
        public async Task CreateRepository(string repo, string passphrase, string adminKey)
        {
            if (!configProvider.GetAdminKey().Equals(adminKey))
            {
                throw new MemzException(MemzErrorCode.InvalidAdminKey, "Invalid admin key");
            }

            var repoKey       = crypto.GenerateRandomBytes(128);
            var repoKeyPacket = crypto.PassphraseEncrypt(Encoding.UTF8.GetBytes(passphrase), repoKey);

            RepositoryManifest manifest = new(RepositoryVersion, repoKeyPacket.ToString());

            await driver.CreateRepositoryAsync(repo);

            await SetRepositoryManifest(repo, manifest);
        }