Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ public static class DocumentAuthorizationHelper
ISqlAction sqlAction
)
{
return (null, null, null, null);

// Extract security elements and authorization info based on request type
var (securityElements, authInfo) = request switch
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,27 +40,6 @@ public record Document(
/// </summary>
JsonElement EdfiDoc,
/// <summary>
/// The security elements extracted from the document
/// </summary>
JsonElement SecurityElements,
/// <summary>
/// Array of EducationOrganizationIds through StudentSchoolAssociation
/// </summary>
JsonElement? StudentSchoolAuthorizationEdOrgIds,
/// <summary>
/// Array of EducationOrganizationIds through StudentEducationOrganizationResponsibilityAssociation
/// </summary>
JsonElement? StudentEdOrgResponsibilityAuthorizationIds,
/// <summary>
/// Array of EducationOrganizationIds through StudentContactAssociation
/// </summary>
JsonElement? ContactStudentSchoolAuthorizationEdOrgIds,
/// <summary>
/// Array of EducationOrganizationIds through StaffEducationOrganizationEmploymentAssociation
/// or StaffEducationOrganizationAssignmentAssociation
/// </summary>
JsonElement? StaffEducationOrganizationAuthorizationEdOrgIds,
/// <summary>
/// The correlation id of the last insert or update
/// </summary>
string LastModifiedTraceId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@ public record DocumentSummary(
/// </summary>
JsonElement EdfiDoc,
/// <summary>
/// The SecurityElements JSON field from the database
/// </summary>
JsonElement SecurityElements,
/// <summary>
/// The datetime this document was last modified in the database
/// </summary>
DateTime LastModifiedAt,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,33 +60,6 @@ NpgsqlTransaction transaction
return new DeleteResult.DeleteFailureETagMisMatch();
}

var securityElements = documentSummary.SecurityElements.ToDocumentSecurityElements()!;

var deleteAuthorizationResult = await deleteRequest.ResourceAuthorizationHandler.Authorize(
securityElements,
OperationType.Delete,
deleteRequest.TraceId
);

if (deleteAuthorizationResult is ResourceAuthorizationResult.NotAuthorized notAuthorized)
{
return new DeleteResult.DeleteFailureNotAuthorized(notAuthorized.ErrorMessages);
}

if (deleteRequest.DeleteInEdOrgHierarchy && documentSummary.DocumentId != null)
{
long documentId = documentSummary.DocumentId.Value;

await _sqlAction.DeleteEducationOrganizationHierarchy(
deleteRequest.ResourceInfo.ProjectName.Value,
deleteRequest.ResourceInfo.ResourceName.Value,
documentId,
documentPartitionKey.Value,
connection,
transaction
);
}

int rowsAffectedOnDocumentDelete = await _sqlAction.DeleteDocumentByDocumentUuid(
documentPartitionKey,
deleteRequest.DocumentUuid,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,27 +53,6 @@ public async Task<GetResult> GetById(
return new GetResult.GetFailureNotExists();
}

var securityElements = documentSummary.SecurityElements.ToDocumentSecurityElements()!;

ResourceAuthorizationResult getAuthorizationResult =
await getRequest.ResourceAuthorizationHandler.Authorize(
securityElements,
OperationType.Get,
getRequest.TraceId
);

if (getAuthorizationResult is ResourceAuthorizationResult.NotAuthorized notAuthorized)
{
if (notAuthorized is ResourceAuthorizationResult.NotAuthorized.WithHint notAuthorizedWithHint)
{
return new GetResult.GetFailureNotAuthorized(
notAuthorizedWithHint.ErrorMessages,
notAuthorizedWithHint.Hints
);
}
return new GetResult.GetFailureNotAuthorized(notAuthorized.ErrorMessages);
}

return new GetResult.GetSuccess(
getRequest.DocumentUuid,
documentSummary.EdfiDoc.Deserialize<JsonNode>()!,
Expand Down
Loading
Loading