entire v3 datamodel orm NEXT: test orm

This commit is contained in:
2024-11-01 14:47:03 +01:00
parent 4bfebf2f61
commit ae1156bd6c
6 changed files with 213 additions and 167 deletions

58
neofarm/orm/log.py Normal file
View File

@@ -0,0 +1,58 @@
import jsonapi_requests
class Log(jsonapi_requests.orm.ApiModel):
class Meta:
type = 'log'
@classmethod
def get_type_and_path(cls, name):
return (f"{cls.type}{api_type_spatrator}{name}", f"{cls.path}{api_path_separator}{name}")
@classmethod
def set_api(cls, api):
cls.api = api
name = jsonapi_requests.orm.AttributeField('name')
timestamp = jsonapi_requests.orm.AttributeField('timestamp')
isMovement = jsonapi_requests.orm.AttributeField('isMovement')
assets = jsonapi_requests.orm.RelationField('asset')
location = jsonapi_requests.orm.RelationField('location')
equipment = jsonapi_requests.orm.RelationField('equipment')
quantities = jsonapi_requests.orm.RelationField('quantity')
def getPlant(self):
for asset in self.assets:
if asset.type == 'asset--plant':
return asset
class Activity(Log):
class Meta(Log.Meta):
name = 'activity'
type, path = Log.Meta.get_type_and_path(name)
class Maintenance(Log):
class Meta(Log.Meta):
name = 'maintenance'
type, path = Log.Meta.get_type_and_path(name)
class Purchase(Log):
class Meta(Log.Meta):
name = 'purchase'
type, path = Log.Meta.get_type_and_path(name)
class Seeding(Log):
class Meta(Log.Meta):
name = 'seeding'
type, path = Log.Meta.get_type_and_path(name)
class Input(Log):
class Meta(Log.Meta):
name = 'input'
type, path = Log.Meta.get_type_and_path(name)
class Medical(Log):
class Meta(Log.Meta):
name = 'medical'
type, path = Log.Meta.get_type_and_path(name)
class Harvest(Log):
class Meta(Log.Meta):
name = 'harvest'
type, path = Log.Meta.get_type_and_path(name)
class Sale(Log):
class Meta(Log.Meta):
name = 'sale'
type, path = Log.Meta.get_type_and_path(name)