public async Task <IdentityResult> DeleteApiSecretAsync( Neo4jIdentityServer4ApiResource apiResource, Neo4jIdentityServer4ApiSecret apiSecret, CancellationToken cancellationToken = default(CancellationToken)) { cancellationToken.ThrowIfCancellationRequested(); ThrowIfDisposed(); apiResource.ThrowIfNull(nameof(apiResource)); apiSecret.ThrowIfNull(nameof(apiSecret)); try { var cypher = $@" MATCH (r:{IdSrv4ApiResource}{{Name: $p0}})-[:{Neo4jConstants.Relationships.HasSecret}]-> (s:{IdSrv4ApiSecret}{{Type: $p1,Value: $p2}}) DETACH DELETE s"; await Session.RunAsync(cypher, Params.Create( apiResource.Name, apiSecret.Type, apiSecret.Value)); await RaiseApiResourceChangeEventAsync(apiResource); return(IdentityResult.Success); } catch (ClientException ex) { return(ex.ToIdentityResult()); } }
public async Task <IdentityResult> AddApiSecretAsync( Neo4jIdentityServer4ApiResource apiResource, Neo4jIdentityServer4ApiSecret apiSecret, CancellationToken cancellationToken = default(CancellationToken)) { cancellationToken.ThrowIfCancellationRequested(); ThrowIfDisposed(); apiResource.ThrowIfNull(nameof(apiResource)); apiSecret.ThrowIfNull(nameof(apiSecret)); try { var cypher = $@" MATCH (r:{IdSrv4ApiResource}{{Name: $p0}}) MERGE (s:{IdSrv4ApiSecret} {"$p1".AsMapForNoNull<Neo4jIdentityServer4ApiSecret>(apiSecret)}) MERGE (r)-[:{Neo4jConstants.Relationships.HasSecret}]->(s)"; var result = await Session.RunAsync(cypher, Params.Create(apiResource.Name, apiSecret)); await RaiseApiResourceChangeEventAsync(apiResource); return(IdentityResult.Success); } catch (ClientException ex) { return(ex.ToIdentityResult()); } }
public async Task <Neo4jIdentityServer4ApiSecret> GetApiSecretAsync( Neo4jIdentityServer4ApiResource apiResource, Neo4jIdentityServer4ApiSecret apiSecret, CancellationToken cancellationToken = default(CancellationToken)) { cancellationToken.ThrowIfCancellationRequested(); ThrowIfDisposed(); apiResource.ThrowIfNull(nameof(apiResource)); apiSecret.ThrowIfNull(nameof(apiSecret)); var cypher = $@" MATCH (:{IdSrv4ApiResource}{{Name: $p0}})-[:{Neo4jConstants.Relationships.HasSecret}]-> (s:{IdSrv4ApiSecret}{{Type: $p1,Value: $p2}}) RETURN s {{ .* }}"; var result = await Session.RunAsync(cypher, Params.Create(apiResource.Name, apiSecret.Type, apiSecret.Value)); var record = await result.SingleOrDefaultAsync(r => r.MapTo <Neo4jIdentityServer4ApiSecret>("s")); return(record); }
/// <summary> /// Maps an entity to a model. /// </summary> /// <param name="entity">The entity.</param> /// <returns></returns> public static IdentityServer4.Models.Secret ToModel(this Neo4jIdentityServer4ApiSecret entity) { return(Mapper.Map <IdentityServer4.Models.Secret>(entity)); }