nilsFK/py-privatekonomi

Definiera publika API:n för modeller

nilsFK opened this issue · 0 comments

Samtliga modeller borde ha gemensamma API:n och metoder för att uppdatera, ta bort, hämta, lägga till osv. Någon slags spec för att utföra dessa åtgärder vore bra.

Använd följande riktlinjer (där model byter ut modellnamnet och value byter ut specifika kolumner):

  • Ersätt eller lägg till: setModel eller setModelValue
  • Lägg till: addModel eller addModelValue
  • Uppdatera: updateModel eller updateModelValue
  • Hämta: getModel eller getModelValue
  • Ta bort: removeModel eller removeModelValue

native anrop till sqlalchemy görs i metoderna create, read, update, delete. Appen som använder sig utav modellerna behöver inte veta hur modellerna i fråga är implementerade, utan anropar färdiga metoder på modellerna. Det svåra är att veta hur dessa skall implementeras + det faktum att SqlAlchemy är ganska kinkigt när det gäller where-uttryck som skickas in i delete och update, då den förväntar sig något form av BinaryExpression som är svårt att utforma utan att gå in på implementationsnära detaljer.