--- a/iro/schema.py Wed Dec 21 22:10:21 2011 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from sqlalchemy import Column, Integer, String, Sequence, Boolean, DateTime, Numeric, Enum
-from sqlalchemy import create_engine
-from sqlalchemy.ext.declarative import declarative_base
-
-#relationship
-from sqlalchemy import ForeignKey
-from sqlalchemy.orm import relationship, backref
-
-engine = create_engine('sqlite:///:memory:', echo=True)
-Base = declarative_base()
-
-__tables__=["User", "Job", "Message", "Offer", "Userright"]
-
-class Userright(Base):
- """Über welche Routen darf ein Benutzer Daten verschicken und welches sind die Standardrouten (<em>isDefault=1</em>) für den Benuter."""
- __tablename__ = 'userright'
- user_name = Column('user', String, ForeignKey('apiuser.name'), primary_key=True)
- offer_name = Column('offer', String, ForeignKey('offer.name'), primary_key=True)
- isDefault = Column(Boolean)
- offer = relationship("Offer")
-
-class Offer(Base):
- """Alle Routen über die SMS, Faxe und Mails verschickt werden könnnen. <em>provider</em>, <em>typ</em> und <em>route</em> werden verwendet, um die entsprechenden Zugangsdaten laden zu können."""
- __tablename__ = "offer"
- name = Column(String, primary_key=True)
- provider = Column(String)
- route = Column(String)
- typ = Column(String)
-
-
-class Message(Base):
- """Wenn ein Vorgang von Iro Kosten erzeugt hat wird eine neue Zeile eingefügt. Solange nicht bezahlt wurde ist <em>isBilled=0</em>."""
- __tablename__ = "message"
- id = Column(Integer, Sequence('message_id_seq'), primary_key=True)
- recipient = Column(String)
- isBilled = Column(Boolean)
- date = Column(DateTime)
- price = Column(Numeric(8,2))
- job_hash = Column("job",Integer, ForeignKey('job.hash'))
- job = relationship("Job", backref=backref('messages'))
- offer_id = Column("offer",String, ForeignKey('offer.name'))
- offer = relationship("Offer", backref=backref('messages'))
-
-
-class Job(Base):
- """Ein kompletter Auftrag, der an Iro zum verschicken übergeben wird. Status zeigt den generellen Status des Auftrages an (<em>init</em>, <em>started</em>, <em>sending</em>, <em>sended</em> oder <em>error</em>). <em>info</em> wird verwendet um dem Benutzer eine Möglickeit zu geben verschiede Auftragsgruppen zu erstellen."""
- __tablename__ = "job"
- hash = Column(String, primary_key=True)
- info = Column(String)
- status = Column(Enum("init","started","sending","sended","error"))
- user_id = Column("user", String, ForeignKey('apiuser.name'))
- user = relationship("User", backref=backref('jobs'))
-
-class User(Base):
- """Die Benutzerdatenbank von Iro. <em>ng_kunde</em> ist der verknüpfte netzguerilla.net Benutzer, der die Rechnung zahlt."""
- __tablename__ = "apiuser"
- name = Column(String, primary_key=True)
- ng_kunde = Column(Integer)
- apikey = Column(String,unique=True)
- rights = relationship('Userright')
- def __init__(self, name, apikey):
- self.name=name
- self.apikey=apikey
-
- def __repr__(self):
- return "<User('%s','%s')>"%(self.name,self.apikey)
-
-
-#Base.metadata.create_all(engine)