entire v3 datamodel orm NEXT: test orm
This commit is contained in:
58
neofarm/orm/log.py
Normal file
58
neofarm/orm/log.py
Normal 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)
|
||||
|
||||
Reference in New Issue
Block a user