public async Task PatchTransportationStatus(Transportation transportation) { var query = new CypherFluentQuery(_graphClientFunc) .MatchEntity(transportation, "transportation") .Set("transportation.isActive = {isActive}") .WithParam("isActive", transportation.IsActive); await query.ExecuteWithoutResultsAsync(); }
public async Task DeleteUser(Guid userId) { var query = new CypherFluentQuery(_graphClientFunc) .Match("(user:User{azureId: {userId}})") .WithParam("userId", userId) .Remove("user:User") .Set("user:User_Deleted"); await _repositoryPolicy.ExecuteAsync(async() => await query.ExecuteWithoutResultsAsync()); }
public async Task UpdateAlertSeverityLevel(Guid alertId, SeverityLevel severityLevel) { var query = new CypherFluentQuery(_graphClientFunc) .Match("(alert:Alert{alertId: {alertId}})") .WithParam("alertId", alertId) .Set("alert.severityLevel = {severityLevel}") .WithParam("severityLevel", severityLevel); await _repositoryPolicy.ExecuteAsync(async() => await query.ExecuteWithoutResultsAsync()); }
public async Task SaveViolation(Guid userId, Violation violation) { var relationship = new UserViolationRelationship("user", "violation"); var query = new CypherFluentQuery(_graphClientFunc) .Match("(user:User{azureId: {userId}})") .WithParam("userId", userId) .CreateEntity(violation, "violation") .CreateRelationship(relationship); await _repositoryPolicy.ExecuteAsync(async() => await query.ExecuteWithoutResultsAsync()); }
public async Task SaveTransportation(Transportation transportation, Guid userId) { var relationship = new UserTransportationRelationship("user", "transportation"); var query = new CypherFluentQuery(_graphClientFunc) .CreateEntity(transportation, "transportation") .With("transportation") .Match("(user:User{azureId: {userId}})") .WithParam("userId", userId) .CreateRelationship(relationship); await query.ExecuteWithoutResultsAsync(); }
public async Task SaveAlert(Alert alert, Guid transportationId) { alert.CreatedAt = (float)DateTime.UtcNow.Subtract(DateTime.MinValue.AddYears(1969)).TotalSeconds; alert.AlertId = Guid.NewGuid(); var relationship = new TransportationAlertRelationship("transportation", "alert"); var query = new CypherFluentQuery(_graphClientFunc) .Match("(transportation:Transportation{transportationId: {transportationId}})") .WithParam("transportationId", transportationId) .CreateEntity(alert, "alert") .CreateRelationship(relationship); await _repositoryPolicy.ExecuteAsync(async() => await query.ExecuteWithoutResultsAsync()); }
public async Task DeleteUserRole(Guid userId, RoleType roleType) { var user = new User { AzureId = userId }; var query = new CypherFluentQuery(_graphClientFunc) .MatchEntity(user) .Match("(user)-[relationship:HAS_ROLE]->(:Role{roleType: {roleType}})") .WithParam("roleType", roleType) .Delete("relationship"); await _repositoryPolicy.ExecuteAsync(async() => await query.ExecuteWithoutResultsAsync()); }
public async Task UpdateAsync(TUser user) { Throw.ArgumentException.IfNull(user, "user"); ThrowIfDisposed(); var query = new CypherFluentQuery(_graphClient) .Match("(u:User)") .Where((TUser u) => u.Id == user.Id) .Set("u = {userParam}") .WithParam("userParam", user) .With("u").OptionalMatch("(u)-[cr:HAS_CLAIM]->(c:Claim)").Delete("c,cr") .With("u").OptionalMatch("(u)-[lr:HAS_LOGIN]->(l:Login)").Delete("l,lr") .With("u").OptionalMatch("(u)-[rl:IN_ROLE]->(r:Role)").Delete("rl"); query = AddClaims(query, user.Claims); query = AddLogins(query, user.Logins); await query.ExecuteWithoutResultsAsync(); }
public async Task<IdentityResult> CreateAsync(TUser user, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); ThrowIfDisposed(); ArgumentNotNull(user, nameof(user)); if (user.Id == default) { user.Id = Guid.NewGuid(); } var query = new CypherFluentQuery(GraphClient) .Create($"(:{UserLabel} {{user}})") .WithParam("user", user); await query.ExecuteWithoutResultsAsync(); return IdentityResult.Success; }
public async Task AddUserRole(Guid userId, RoleType roleType) { var user = new User { AzureId = userId }; var role = new Role { RoleType = roleType }; var userRoleRelationship = new UserRoleRelationship("user", "role"); var query = new CypherFluentQuery(_graphClientFunc) .MatchEntity(user) .MergeEntity(role) .CreateRelationship(userRoleRelationship); await _repositoryPolicy.ExecuteAsync(async() => await query.ExecuteWithoutResultsAsync()); }
public async Task AddUser(User user) { var query = new CypherFluentQuery(_graphClientFunc) .MergeEntity(user); await _repositoryPolicy.ExecuteAsync(async() => await query.ExecuteWithoutResultsAsync()); }