service composition WIP
[plstackapi.git] / planetstack / servcomp / models.py
1 from django.db import models
2 from core.models import User, Service, SingletonModel, PlCoreBase, DiffModelMixIn
3 import os
4 from django.db import models
5 from django.forms.models import model_to_dict
6
7 class CompositionService(SingletonModel,Service):
8     class Meta:
9         app_label = "servcomp"
10         verbose_name = "Service Composition Service"
11
12 class Composition(PlCoreBase):
13     class Meta:
14         app_label = "servcomp"
15
16     name = models.CharField(max_length=255);
17     services = models.ManyToManyField(Service, through='CompositionServiceThrough', blank=True);
18
19 class CompositionServiceThrough(PlCoreBase):
20     class Meta:
21         app_label = "servcomp"
22
23     Composition = models.ForeignKey(Composition)
24     Service = models.ForeignKey(Service, related_name="compositions")
25     order = models.IntegerField(default=0)
26
27 class EndUser(PlCoreBase):
28     class Meta:
29         app_label = "servcomp"
30
31     email = models.CharField(max_length=255)
32     firstName = models.CharField(max_length=80)
33     lastName = models.CharField(max_length=80)
34     macAddress = models.CharField(max_length=80)
35     composition = models.ForeignKey(Composition, related_name="endUsers", blank=True, null=True)
36