def get_filter_kwargs(self, **kwargs) -> dict: """Return relevant filters""" filters = {} if 'name' in kwargs: filters['slug'] = slugger(kwargs['name']) if 'q' in kwargs: filters['q'] = slugger(kwargs['q']) return filters
def save_object(self, obj: Indicator, **kwargs) -> Indicator: obj.slug = slugger(obj.name) obj.aggregation = obj.source['aggregation']['type'] db.session.add(obj) db.session.commit() return obj
def add(product): with dbconn() as conn: cur = conn.cursor() cur.execute( '''SELECT * FROM zsm_data.product_group WHERE pg_slug = %s''', (product['product_group'], )) row = cur.fetchone() if not row: return connexion.problem( status=404, title='Product group not found', detail='Can not find product group: {}'.format( product['product_group'])) product_group = strip_column_prefix(row._asdict()) try: cur.execute( '''INSERT INTO zsm_data.product (p_name, p_slug, p_product_group_id) VALUES (%s, %s, %s)''', ( product['name'], slugger(product['name']), product_group['id'], )) conn.commit() except IntegrityError: return connexion.problem( status=400, title='Product Already Exists', detail='Product with name: "{}" already exists!'.format( product['name'])) return NoContent, 201
def community_match(self, product_group: str, communities: List[str]) -> bool: product_group_community = product_group.lower() if product_group.startswith('Core') and '/' in product_group: product_group_community = slugger(product_group.split('/')[1]) return self.is_admin() or product_group_community in communities
def add(product_group): with dbconn() as conn: cur = conn.cursor() cur.execute('''INSERT INTO zsm_data.product_group (pg_name, pg_department, pg_slug) VALUES (%s, %s, %s)''', (product_group['name'], product_group['department'], slugger(product_group['name']))) conn.commit() cur.close() return NoContent, 201
def add(product): with dbconn() as conn: cur = conn.cursor() cur.execute( '''INSERT INTO zsm_data.product (p_name, p_slug, p_product_group_id) VALUES (%s, %s, (SELECT pg_id FROM zsm_data.product_group WHERE pg_slug = %s))''', (product['name'], slugger(product['name']), product['product_group'])) conn.commit() cur.close() return NoContent, 201
def current_user_communities(self): uid = request.token_info['uid'] groups = get_user_groups(uid) # expected : "Function/Communities/*/COMMUNITY-NANE/ROLE" communities = [ slugger(c.split('/')[-2]) for c in groups if c.startswith(API_AUTHORIZATION_COMMUNITY_PREFIX) ] return communities
def get_object_fields(self, body: dict, **kwargs) -> dict: fields = {} for field in self.model_fields: if field in READ_ONLY_FIELDS: continue if field == 'slug' and 'name' in body: fields['slug'] = slugger(body['name']) else: fields[field] = body.get(field) return fields
def get_object_fields(self, body: dict, **kwargs) -> dict: fields = {} for field in self.model_fields: if field in READ_ONLY_FIELDS: continue if field == 'slug' and 'name' in body: fields['slug'] = slugger(body['name']) if fields['slug'] == '': raise ProblemException( title='Invalid resource name', detail='Resource name is invalid. Should include at least one character!') else: fields[field] = body.get(field) return fields
def add(product_group): with dbconn() as conn: cur = conn.cursor() try: cur.execute( '''INSERT INTO zsm_data.product_group (pg_name, pg_department, pg_slug) VALUES (%s, %s, %s)''', (product_group['name'], product_group['department'], slugger(product_group['name']))) conn.commit() cur.close() return NoContent, 201 except IntegrityError: return connexion.problem( status=400, title='Product Group already exists', detail='Product group with name: "{}" already exists!'.format( product_group['name']))