CenterForDigitalHumanities / CenterForDigitalHumanities/rerum_server_nodejs

Object Minting Utility for db-controller

Offen
#82 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
JavaScript
Sterne
3
Forks
6
Ø Merge
2 T. 47 Min.
Gemergte PRs (30 T.)
4

Beschreibung

This is an optimization idea.

Each of the actions have a moment like
```javascript
const id = new ObjectID().toHexString()
let generatorAgent = req.user[process.env.RERUM_AGENT_CLAIM] ?? "http://dev.rerum.io/agent/CANNOTBESTOPPED"
let context = req.body["@context"]?{"@context":req.body["@context"]}:{}
let provided = JSON.parse(JSON.stringify(req.body))
let rerumProp = {"__rerum":utils.configureRerumOptions(generatorAgent, provided, false, false)["__rerum"]}
delete provided["_rerum"]
delete provided["_id"]
delete provided["@id"]
delete provided["@context"]
let newObject = Object.assign(context, {"@id":process.env.RERUM_ID_PREFIX + id}, provided, rerumProp, {"_id":id})
```
where this code is ALMOST a direct C&P, but not quite so it will take a little focus and thought. This can probably be a utility function, JSON in - JSON Out with some strategic flags to make sure to support the slight differences between actions

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Finde die Action-Handler in db-controller, die die gezeigte Sequenz zum Erzeugen von Objekten wiederholen, und vergleiche ihre kleinen Unterschiede. Lege anhand dieser Verwendungen den JSON-Input, den Output und die strategischen Flags des Utilitys fest; abgeschlossen ist die Aufgabe, wenn die wiederholte Logik zum Erzeugen von Objekten konsolidiert ist und jede Action ihr erforderliches Verhalten beibehält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
backend
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.