GanjoorRelatedPerson

apply a moderator's decision to a pending person-edit suggestion - same permission as moderating a poem correction (Auth policies: ganjoor:modify)

Changed on
post/api/people/editsuggestions/{id}/moderate

Request

  • Base URL
    https://api.ganjoor.net (the document declares no server; this is the origin it was published from)
  • Auth
    API key in header Authorization

Path parameters

idinteger required

Request body

result0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18

correction review result

reviewNotestring nullable

review note

Response

OK

idinteger

suggestion id

personIdinteger

the person this suggestion proposes changes for

datestring date-time

date

userIdstring uuid

suggester's user id

suggestedNamestring nullable

suggested name

suggestedDescriptionstring nullable

suggested description

suggestedWikiUrlstring nullable

suggested wikipedia url

suggestedBirthYearInLHijriinteger

suggested birth year in lunar hijri

suggestedDeathYearInLHijriinteger

suggested death year in lunar hijri

suggestedValidBirthDateboolean

suggested ValidBirthDate

suggestedValidDeathDateboolean

suggested ValidDeathDate

suggestedBirthLocationIdinteger nullable

suggested birth location id

suggestedDeathLocationIdinteger nullable

suggested death location id

suggestedFamilyTreeCaptionstring nullable

suggested family tree caption

confirmedDuplicateFamilyTreeCaptionboolean

only meaningful alongside a non-null SuggestedFamilyTreeCaption. Normally, ModeratePersonEditSuggestionAsync rejects approving a caption when another person in the same connected kinship component already carries one (two separate "family tree" list entries would otherwise open to the exact same graph). Set this to true only when a second, distinct caption on the very same tree is genuinely intended (e.g. two commonly used alternate names for the same dynasty/family) to approve it anyway.

suggestedAliasesstring nullable

suggested other names (GanjoorRelatedPerson.Aliases) separated by «،». null = this suggestion says nothing about them (aliases stay as they are); the contributor's form is pre-filled with the current aliases, so emptying the box entirely is also read as "no change" - removing every alias is a moderator-only action (Admin/MergePeople)

suggestedImportance0 | 1 | 2

how editorially prominent a GanjoorRelatedPerson is treated as - purely a display/sizing hint (see GanjoorRelatedPerson.Importance, GanjoorPersonGraphNode.Importance and peoplegraph.js's nodeRadius()), never used to filter, rank or otherwise affect query results. New values can be appended safely later (stored as int).

suggestedGender0 | 1 | 2

a GanjoorRelatedPerson's gender - used only by the family-tree chart (familytree.js's buildLayout()) to break ties when a child has two recorded parents and both happen to have their own recorded ancestors (so neither side can be preferred on "continues a documented lineage" grounds alone): the father is preferred as the tree's spine parent, matching conventional patrilineal genealogy-chart practice, with the mother then drawn attached beside him. Never used to filter, rank or otherwise affect query results. New values can be appended safely later (stored as int).

suggestedForDeletionboolean

true if this suggestion is actually a request to delete the person outright, not to change their fields - when true, every Suggested* field above is ignored on approval (they still carry whatever the contributor's pre-filled form happened to hold) and ModeratePersonEditSuggestionAsync removes the person and every relation/affiliation/tag reference to them instead. Kept on this same entity rather than a separate one so the existing suggest/review UI and permissions are reused as-is.

operation0 | 1 | 2

what a GanjoorPersonEditSuggestion asks for (deleting a person is the SuggestedForDeletion flag of an Edit suggestion)

mergeIntoPersonIdinteger nullable

Merge: the person that stays (PersonId is the duplicate that is merged into it and deleted). Deliberately no foreign key, so it never blocks deleting a person.

splitFromPoemIdinteger nullable

Split: first poem (inclusive) of the part that belongs to the new person

splitFromCoupletIndexinteger nullable

Split: first couplet (inclusive) of SplitFromPoemId that belongs to the new person

splitToPoemIdinteger nullable

Split: last poem (inclusive) of the part that belongs to the new person; null = up to the end of the book

splitToCoupletIndexinteger nullable

Split: last couplet (inclusive) of SplitToPoemId; null = the whole poem

splitNewNamestring nullable

Split: name of the new person (empty = same name)

splitNewDescriptionstring nullable

Split: description of the new person

resultReportstring nullable

Merge/Split: report of what the approved operation did

suggestionNotestring nullable

suggester's note to the moderator

reviewedboolean

reviewed

result0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18

correction review result

reviewDatestring date-time

review date

reviewNotestring nullable

review note

reviewerUserIdstring uuid nullable

reviewer's user id

Example response

{
  "user": {
    "rImage": {
      "folderName": "2017-08",
      "storedFileName": "85007253-09f2-4434-8b7e-1a23db2cd9c9.png"
    }
  },
  "reviewerUser": {
    "rImage": {
      "folderName": "2017-08",
      "storedFileName": "85007253-09f2-4434-8b7e-1a23db2cd9c9.png"
    }
  }
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status