Exemple #1
0
 def delete(self, values):
     query = QueryBuilder('user_has_roles')\
         .delete()\
         .where('user_id')\
         .where('role_id')\
         .sql()
     db.execute_sql(query, (values['user_id'], values['role_id']))
Exemple #2
0
    def delete(self, pk):
        query = QueryBuilder(self.model.table)\
            .delete()\
            .where(self.model.primary_key)\
            .sql()

        db.execute_sql(query, (pk,))
Exemple #3
0
 def findByUsername(self, username):
     query = QueryBuilder(self.model.table, self.model.columns)\
         .where('username')\
         .limit(1)\
         .sql()
     cursor = db.execute_sql(query, (username,))
     return self.as_object(cursor)
Exemple #4
0
    def update(self, pk, values):
        if isinstance(values, self.model):
            values = dict(values)

        values['updated_at'] = datetime.datetime.now()

        query = QueryBuilder(self.model.table, self.model.columns[1:])\
            .update()\
            .where(self.model.primary_key)\
            .sql()

        db.execute_sql(
            query,
            (*[values.get(c, None) for c in self.model.columns[1:]], pk)
        )

        return self.find(pk, True)
Exemple #5
0
    def allByPerson(self, person_id):
        query = QueryBuilder(models.Person.table, models.Person.columns)\
            .join(self.model.table)\
            .on('person_id')\
            .on('associated_id', '=', 'id')\
            .sql()

        cursor = db.execute_sql(query, (person_id,))
        return self.as_iterator(cursor, models.Person)
Exemple #6
0
    def allByFederativeUnit(self, federative_unit_id, order_by=[]):
        query = QueryBuilder(self.model.table, self.model.columns)\
            .where('federative_unit_id')

        for o in order_by:
            query = query.order_by(*o)

        cursor = db.execute_sql(query.sql(), (federative_unit_id,))
        return self.as_iterator(cursor)
Exemple #7
0
    def allByUser(self, user_id):
        query = QueryBuilder(self.model.table, self.model.columns)\
            .join('user_has_roles')\
            .on('role_id', '=', 'id')\
            .on('user_id')\
            .sql()

        cursor = db.execute_sql(query, (user_id,))
        return self.as_iterator(cursor)
Exemple #8
0
    def findByName(self, name, with_trash=False):
        query = QueryBuilder(self.model.table, self.model.columns)\
            .where('name')\
            .limit(1)

        query = query.sql()

        cursor = db.execute_sql(query, (name,))
        return self.as_object(cursor)
Exemple #9
0
 def create(self, values):
     query = QueryBuilder('user_has_roles', ['user_id', 'role_id'])\
         .insert()\
         .returning(['user_id', 'role_id'])\
         .sql()
     cursor = db.execute_sql(query, (values['user_id'], values['role_id']))
     return models.UserHasRole(**dict(
         zip(models.UserHasRole.columns, cursor.fetchone())
     ))
Exemple #10
0
    def findByAssociated(self, person_id):
        query = QueryBuilder(models.Person.table, models.Person.columns)\
            .join(self.model.table)\
            .on('person_id', '=', 'id')\
            .on('associated_id')\
            .limit(1)\
            .sql()

        cursor = db.execute_sql(query, (person_id,))
        return self.as_object(cursor, models.Person)
Exemple #11
0
    def all(self, with_trash=False, order_by=[('id',)]):
        query = QueryBuilder(self.model.table, self.model.columns)

        for o in order_by:
            query = query.order_by(*o)

        if self.use_soft_delete and not with_trash:
            query = query.where('deleted_at', 'IS', 'NULL')

        query = query.sql()
        cursor = db.execute_sql(query)
        return self.as_iterator(cursor)
Exemple #12
0
    def find(self, pk, with_trash=False):
        query = QueryBuilder(self.model.table, self.model.columns)\
            .where(self.model.primary_key)\
            .limit(1)

        if self.use_soft_delete and not with_trash:
            query = query.where('deleted_at', 'IS', 'NULL')

        query = query.sql()

        cursor = db.execute_sql(query, (pk,))
        return self.as_object(cursor)
Exemple #13
0
    def findByIdentifier(self, identifier, with_trash=False):
        query = QueryBuilder(self.model.table, self.model.columns)\
            .where('identifier')\
            .limit(1)

        if not with_trash:
            query = query.where('deleted_at', 'IS', 'NULL')

        query = query.sql()

        cursor = db.execute_sql(query, (identifier,))
        return self.as_object(cursor)
Exemple #14
0
    def create(self, values):
        if isinstance(values, self.model):
            values = dict(values)

        values['created_at'] = datetime.datetime.now()

        query = QueryBuilder(self.model.table, self.model.columns[1:])\
            .insert()\
            .returning([self.model.primary_key])\
            .sql()

        cursor = db.execute_sql(
            query,
            [values.get(c, None) for c in self.model.columns[1:]]
        )

        return self.find(cursor.fetchone()[0])
Exemple #15
0
 def deleteByPerson(self, person_id):
     query = QueryBuilder(self.model.table).delete().where(
         'person_id').sql()
     db.execute_sql(query, (person_id,))
Exemple #16
0
 def deleteByModuleType(self, module_type_id):
     query = QueryBuilder(self.model.table, self.model.columns)\
         .delete()\
         .where('module_type_id')\
         .sql()
     db.execute_sql(query, (module_type_id,))
Exemple #17
0
 def allByModuleType(self, module_type_id):
     query = QueryBuilder(self.model.table, self.model.columns)\
         .where('module_type_id')\
         .sql()
     cursor = db.execute_sql(query, (module_type_id,))
     return self.as_iterator(cursor)
Exemple #18
0
 def allRegistered(self):
     query = QueryBuilder(self.model.table, self.model.columns)\
         .where('person_id','IS NOT', 'NULL')\
         .sql()
     cursor = db.execute_sql(query)
     return self.as_iterator(cursor)
Exemple #19
0
    def allByPerson(self, person_id):
        query = QueryBuilder(self.model.table, self.model.columns)\
            .where('person_id')\
            .sql()

        return self.as_iterator(db.execute_sql(query, (person_id,)))
Exemple #20
0
 def deleteAssociation(self, person_id, associated_id):
     query = QueryBuilder(self.model.table).delete().where(
         'person_id').where('associated_id').sql()
     db.execute_sql(query, (person_id, associated_id))