diff options
| author | crupest <crupest@outlook.com> | 2022-12-03 18:21:25 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2022-12-20 20:32:52 +0800 | 
| commit | 92b93d875c3f61312d2221e3b4d15f5a2e8d7a11 (patch) | |
| tree | 2c5a1cc44c16a8c9a1b44146165ece08de3ccb13 /docker/crupest-api/CrupestApi/CrupestApi.Secrets | |
| parent | 9fe25354118f55cecb5cef08071b2b6cf88b6be5 (diff) | |
| download | crupest-92b93d875c3f61312d2221e3b4d15f5a2e8d7a11.tar.gz crupest-92b93d875c3f61312d2221e3b4d15f5a2e8d7a11.tar.bz2 crupest-92b93d875c3f61312d2221e3b4d15f5a2e8d7a11.zip  | |
Develop secret api. v3
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Secrets')
| -rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Secrets/SecretsService.cs | 36 | 
1 files changed, 32 insertions, 4 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Secrets/SecretsService.cs b/docker/crupest-api/CrupestApi/CrupestApi.Secrets/SecretsService.cs index 9281cee..feac08a 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Secrets/SecretsService.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Secrets/SecretsService.cs @@ -108,14 +108,42 @@ INSERT INTO secrets (Key, Secret, Description, ExpireTime, Revoked, CreateTime)          return new SecretInfo(key, secret, description, expireTime, false, now);      } -    public Task<List<SecretInfo>> GetSecretListAsync(bool includeExpired = false, bool includeRevoked = false) +    public async Task<List<SecretInfo>> GetSecretListAsync(bool includeExpired = false, bool includeRevoked = false)      { -        throw new NotImplementedException(); +        var dbConnection = await EnsureDatabase(); + +        var query = await dbConnection.QueryAsync<SecretInfo>(@" +SELECT Key, Secret, Description, ExpireTime, Revoked, CreateTime FROM secrets +WHERE @IncludeExpired OR ExpireTime IS NULL OR ExpireTime > @Now AND +        @IncludeRevoked OR Revoked = 0; +        ", new +        { +            IncludeExpired = includeExpired, +            IncludeRevoked = includeRevoked, +            Now = DateTime.Now.ToString("O"), +        }); + +        return query.ToList();      } -    public Task<List<SecretInfo>> GetSecretListByKeyAsync(string key, bool includeExpired = false, bool includeRevoked = false) +    public async Task<List<SecretInfo>> GetSecretListByKeyAsync(string key, bool includeExpired = false, bool includeRevoked = false)      { -        throw new NotImplementedException(); +        var dbConnection = await EnsureDatabase(); + +        var query = await dbConnection.QueryAsync<SecretInfo>(@" +SELECT Key, Secret, Description, ExpireTime, Revoked, CreateTime FROM secrets +WHERE Key = @Key AND +(@IncludeExpired OR ExpireTime IS NULL OR ExpireTime > @Now) AND +(@IncludeRevoked OR Revoked = 0); +        ", new +        { +            Key = key, +            IncludeExpired = includeExpired, +            IncludeRevoked = includeRevoked, +            Now = DateTime.Now.ToString("O"), +        }); + +        return query.ToList();      }      public Task<SecretInfo> ModifySecretAsync(string secret, SecretModifyRequest modifyRequest)  | 
