class Events(Model): eventid = columns.Text(primary_key=True) url = columns.Text() title = columns.Text() description = columns.Text() start_time = columns.DateTime() stop_time = columns.DateTime() venue_id = columns.Text() venue_name = columns.Text() venue_address = columns.Text() city_name = columns.Text() region_name = columns.Text() postal_code = columns.Text() country_name = columns.Text() created = columns.DateTime() modified = columns.DateTime() links = columns.Map(columns.Text(), columns.Text()) categories = columns.Set(columns.Text()) tags = columns.Set(columns.Text()) images = columns.Set(columns.Text()) latitude = columns.Float() longitude = columns.Float() performers = columns.Set(columns.Text()) def __repr__(self): return '%s %s' % (self.eventid, self.title)
class AggregatedActivity(BaseActivity): activities = columns.Bytes(required=False) created_at = columns.DateTime(required=False) group = columns.Ascii(required=False) updated_at = columns.DateTime(required=False) seen_at = columns.DateTime(required=False) read_at = columns.DateTime(required=False)
class AggregatedActivity(Model): __table_name__ = "aggregated" feed_id = columns.Ascii(primary_key=True, partition_key=True) group = columns.Ascii(primary_key=True, partition_key=True) updated_at = columns.DateTime(primary_key=True, clustering_order='desc') activity_id = columns.TimeUUID(required=True) activities = columns.Bytes(required=False) created_at = columns.DateTime(required=False)
class Event(BaseModel): user_id = columns.Text(primary_key=True) # partition key event_id = columns.UUID(primary_key=True, default=uuid.uuid4) date_start = columns.DateTime() end_date = columns.DateTime() description = columns.Text() rrule_id = columns.UUID() latitude = columns.Float() longitude = columns.Float()
class Comment(Model): object_id = columns.UUID(primary_key = True) id = columns.TimeUUID(primary_key = True, default=uuid1, clustering_order="desc") author = columns.Text(primary_key=True) created_at = columns.DateTime(default=datetime.datetime.now()) updated_at = columns.DateTime() view_count = columns.Integer(default=0) like_count = columns.Integer(default=0) body = columns.Text()
class Contact(BaseModel): contact_id = columns.UUID(primary_key=True, default=uuid.uuid4) user_id = columns.Text(primary_key=True) first_name = columns.Text() last_name = columns.Text() date_insert = columns.DateTime() date_update = columns.DateTime() groups = columns.List(columns.Text) # Abstract everything else in a map infos = columns.Map(columns.Text, columns.Text)
class Avatar(Model): """ Represents anything with an identity that can send or receive messages. """ xid = columns.Text(primary_key=True, partition_key=True) owner_xid = columns.Text(default=None) # the avatar who owns this one. parent_xid = columns.Text(default=None) # the containment relationship. supervisor_xid = columns.Text(default=None) # the avatar who can manage this one. kind = columns.Text(default='thing') created_at = columns.DateTime(default=datetime.utcnow()) modified_at = columns.DateTime(default=datetime.utcnow())
class Tickets_Outage_Caused(Model): outage_caused = columns.Text(primary_key=True) ticket_id = columns.Text(primary_key=True) created_dt = columns.DateTime(default=datetime.now()) pg = columns.Text() duration = columns.Text() error_count = columns.Text() system_caused = columns.Text() addt_notes = columns.Text() ticket_type = columns.Text() row_create_ts = columns.DateTime(default=datetime.now()) row_end_ts = columns.DateTime(default='9999-12-31 00:00:00.00000-00')
class Tickets(Model): ticket_id = columns.Text(primary_key=True) created_dt = columns.DateTime(primary_key=True, default=datetime.now(), clustering_order='DESC') division = columns.Text() pg = columns.Text() duration = columns.Text() error_count = columns.Text() outage_caused = columns.Text() system_caused = columns.Text() addt_notes = columns.Text() ticket_type = columns.Text() row_create_ts = columns.DateTime(default=datetime.now()) row_end_ts = columns.DateTime(default='9999-12-31 00:00:00.00000-00')
class Thread(BaseModel): # XXX threading simplest model, most data are only in index user_id = columns.Text(primary_key=True) thread_id = columns.Integer(primary_key=True) # counter.thread_id date_insert = columns.DateTime() security_level = columns.Integer() subject = columns.Text()
class NonEqualityFilteringModel(Model): __keyspace__ = 'test' example_id = columns.UUID(primary_key=True, default=uuid.uuid4) sequence_id = columns.Integer( primary_key=True) # sequence_id is a clustering key example_type = columns.Integer(index=True) created_at = columns.DateTime()
class User(BaseModel): user_id = columns.Text(primary_key=True) password = columns.Text(required=True) date_insert = columns.DateTime() first_name = columns.Text() last_name = columns.Text() params = columns.Map(columns.Text, columns.Text)
class Activity(BaseActivity): actor = columns.Integer(required=False) extra_context = columns.Bytes(required=False) object = columns.Integer(required=False) target = columns.Integer(required=False) time = columns.DateTime(required=False) verb = columns.Integer(required=False)
class DailyClusterCounters(Model): __keyspace__ = config.get('cassandra', 'keyspace') __table_name__ = 'cluster_' + today.strftime('%m%d%Y') name = columns.Text(primary_key=True, partition_key=True) ts = columns.DateTime(primary_key=True) value = columns.Map(columns.Text, columns.BigInt) sample_id = columns.Text()
class User(Model): __table_name__ = "users" """ Model for the User. Will be using this as the auth model. """ username = columns.Text(primary_key=True) jiveuserid = columns.Integer(partition_key=True) creationdate = columns.DateTime() email = columns.Text(partition_key=True) firstlogin = columns.Boolean() firstname = columns.Text() lastloggedin = columns.DateTime() lastname = columns.Text() lastprofileupdate = columns.DateTime() password = columns.Text() userid = columns.UUID(default=uuid4())
class Relationship(Model): __table_name__ = "relationships" user = columns.Text(primary_key=True) target_user = columns.Text(primary_key=True) relationship_id = columns.UUID(default=uuid4()) creationdate = columns.DateTime(default=datetime.datetime.now()) status = columns.Text() # active, pending, retired, deleted type = columns.Text() # following, friend
class FilterRule(BaseModel): user_id = columns.Text(primary_key=True) rule_id = columns.Integer(primary_key=True) # counter.rule_id date_insert = columns.DateTime() name = columns.Text() filter_expr = columns.Text() position = columns.Integer() stop_condition = columns.Integer(default=None) tags = columns.List(columns.Text)
class MfcSummary(Model): __keyspace__ = config.get('cassandra', 'keyspace') __table_name__ = "test" mfcid = columns.Text() ip = columns.Text() type = columns.Text() name = columns.Text() ts = columns.DateTime(primary_key=True) value = columns.Map(columns.Text, columns.BigInt)
class Activity(Model): # partition key (1 row per user_id) feed_id = columns.Text(primary_key=True) # clustering key (used for sorting) activity_id = VarInt(primary_key=True) actor = columns.Integer(required=False) extra_context = columns.Bytes(required=False) object = columns.Integer(required=False) target = columns.Integer(required=False) time = columns.DateTime(required=False) verb = columns.Integer(required=False)
def test_mintimeuuid_function(self): """ Tests that queries with helper functions are generated properly """ now = datetime.now() col = columns.DateTime() col.set_column_name('time') qry = query.EqualsOperator(col, functions.MinTimeUUID(now)) assert qry.cql == '"time" = MinTimeUUID(:{})'.format( qry.value.identifier)
class UserProfile(Model): __table_name__ = "userprofile" username = columns.Text(primary_key=True) firstname = columns.Text(required=False) lastname = columns.Text(required=False) email = columns.Text(required=False) alternate_email = columns.Text(required=False) biography = columns.Text(required=False) birthdate = columns.DateTime(required=True) cellphone = columns.Text(required=False) currentcountry = columns.Text(required=False) gender = columns.Text(required=True) homecountry =columns.Text(required=False) imageurl = columns.Text(required=False) interests = columns.List(value_type=columns.Text) lastupdated = columns.DateTime(required=False) profilepicture = columns.Blob(required=False) relationshipstatus = columns.Text(required=False) religion = columns.Text(required=False) timezone = columns.Text(required=False) title = columns.Text(required=False)
class Message(BaseModel): user_id = columns.Text(primary_key=True) message_id = columns.Integer(primary_key=True) # counter.message_id thread_id = columns.Integer() # counter.thread_id message_type = columns.Text() date_insert = columns.DateTime() security_level = columns.Integer() subject = columns.Text() # Subject of email, the message for short external_message_id = columns.Text() external_parent_id = columns.Text() tags = columns.List(columns.Text) flags = columns.List(columns.Text) # Seen, Recent, Deleted, ... IMAP?
class Content(Model): __table_name__ = 'content' id = columns.TimeUUID(primary_key = True, default=uuid1) author = columns.Text(primary_key=True, clustering_order='ASC') content_type = columns.Text(polymorphic_key=True, index=True) #created_at = columns.DateTime(default=datetime.now(), primary_key = True, clustering_order='DESC') created_at = columns.DateTime(default=datetime.datetime.now()) updated_at = columns.DateTime() view_count = columns.Integer(default=0) like_count = columns.Integer(default=0) comment_count = columns.Integer(default=0) tags = columns.List(value_type=columns.Text(), default=[]) images = columns.List(value_type=columns.Bytes(), default=[]) #['url1','url2',...'urln'] img = columns.Bytes() def create(self): pass def commenting(self): pass def liking(self): pass
class Base(Model): id = columns.UUID(primary_key=True, default=uuid.uuid4()) created_at = columns.Integer(default=columns.DateTime().to_database(datetime.now())) __abstract__ = True def __init__(self, **values): self._limit = CONF_DAEMON.get("LIMIT") if "created_at" in self.__dict__.keys(): self.created_at = self.__dict__["created_at"] super(Model, self).__init__(**values) def save_elasticsearch_in_cassandra(self, obj): self.id = obj["_id"] for atributo in obj['_source'].keys(): if atributo: if hasattr(self, atributo): setattr(self, atributo, obj["_source"][atributo]) return self.save()
class ExampleModel(Model): read_repair_chance = 0.05 # optional - defaults to 0.1 example_id = columns.UUID(primary_key=True, default=uuid.uuid4) example_type = columns.Integer(index=True) created_at = columns.DateTime() description = columns.Text(required=False)
class ForeignModel(Model): organization = columns.Text(partition_key=True) start_date = columns.DateTime(primary_key=True) key = columns.UUID(primary_key=True, default=uuid.uuid4) info = columns.Text()
def __init__(self): if not "created_at" in self.__dict__.keys(): self.__dict__["created_at"] = columns.DateTime().to_database( datetime.now())
class DateTimeQueryTestModel(Model): user = columns.Integer(primary_key=True) day = columns.DateTime(primary_key=True) data = columns.Text()
class TestModel(Model): __keyspace__ = 'db' id = columns.BigInt(primary_key=True) created_at = columns.DateTime() deleted = columns.Boolean(default=False)
class ExampleModel(Model): id = columns.BigInt(primary_key=True) created_at = columns.DateTime() deleted = columns.Boolean(default=False)