Checker 2021 — One
def register_check(self, name: str, check_func: Callable): """Register a custom check to be performed""" self.checks.append((name, check_func)) return self
@app.post("/check-unique", response_model=CheckResponse) async def check_uniqueness(request: CheckRequest): """API endpoint to check if a field is unique across all items""" seen = set() duplicates = [] one checker
def clean_check(): return passing_checker.check_unique_primary_key(clean_data, 'id') check_func)) return self @app.post("/check-unique"
def check_unique_primary_key(self, data: List[Dict], key_field: str) -> OneCheckReport: """Check if all items have unique values for a key field""" seen = {} duplicates = [] for idx, item in enumerate(data): value = item.get(key_field) if value in seen: duplicates.append({ 'value': value, 'indexes': [seen[value], idx] }) else: seen[value] = idx if duplicates: return OneCheckReport( check_name=f"Unique primary key: {key_field}", result=CheckerResult.FAIL, message=f"Found {len(duplicates)} duplicate values for {key_field}", details={'duplicates': duplicates} ) else: return OneCheckReport( check_name=f"Unique primary key: {key_field}", result=CheckerResult.PASS, message=f"All {len(data)} items have unique {key_field} values" ) 'id') def check_unique_primary_key(self