Skip to content

Commit

Permalink
Merge pull request #169 from PedroAVJ/refactor_rule_model
Browse files Browse the repository at this point in the history
Refactor Rule model
  • Loading branch information
alex-nork committed Aug 22, 2023
2 parents 0d35aa9 + 57f591b commit 69a721f
Show file tree
Hide file tree
Showing 16 changed files with 1,301 additions and 350 deletions.
137 changes: 108 additions & 29 deletions chirps/asset/fixtures/asset/test_dash_pagination.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
"model": "asset.baseasset",
"pk": 1,
"fields": {
"polymorphic_ctype": ["asset", "mantiumasset"],
"polymorphic_ctype": [
"asset",
"mantiumasset"
],
"name": "ZimTest",
"user": 1
}
Expand All @@ -12,7 +15,10 @@
"model": "asset.baseasset",
"pk": 2,
"fields": {
"polymorphic_ctype": ["asset", "redisasset"],
"polymorphic_ctype": [
"asset",
"redisasset"
],
"name": "Dummy Redis",
"user": 1
}
Expand All @@ -21,7 +27,10 @@
"model": "asset.baseasset",
"pk": 3,
"fields": {
"polymorphic_ctype": ["asset", "pineconeasset"],
"polymorphic_ctype": [
"asset",
"pineconeasset"
],
"name": "Dummy Pinecone",
"user": 1
}
Expand Down Expand Up @@ -78,87 +87,157 @@
}
},
{
"model": "policy.rule",
"model": "policy.baserule",
"pk": 100,
"fields": {
"polymorphic_ctype": [
"policy",
"regexrule"
],
"name": "SSN",
"query_string": "What's my social security number?",
"query_embedding": null,
"regex_test": "\\b\\d{3}-\\d{2}-\\d{4}\\b",
"severity": 4,
"policy": 100
}
},
{
"model": "policy.rule",
"model": "policy.regexrule",
"pk": 100,
"fields": {
"query_string": "What's my social security number?",
"query_embedding": null,
"regex_test": "\\b\\d{3}-\\d{2}-\\d{4}\\b"
}
},
{
"model": "policy.baserule",
"pk": 101,
"fields": {
"polymorphic_ctype": [
"policy",
"regexrule"
],
"name": "Address",
"query_string": "What's my address?",
"query_embedding": null,
"regex_test": "\\b\\d{1,5}\\s+([a-zA-Z]+\\s+)*[a-zA-Z]+,\\s*[a-zA-Z]{2}\\s+\\d{5}(?:-\\d{4})?\\b",
"severity": 2,
"policy": 100
}
},
{
"model": "policy.rule",
"model": "policy.regexrule",
"pk": 101,
"fields": {
"query_string": "What's my address?",
"query_embedding": null,
"regex_test": "\\b\\d{1,5}\\s+([a-zA-Z]+\\s+)*[a-zA-Z]+,\\s*[a-zA-Z]{2}\\s+\\d{5}(?:-\\d{4})?\\b"
}
},
{
"model": "policy.baserule",
"pk": 102,
"fields": {
"polymorphic_ctype": [
"policy",
"regexrule"
],
"name": "Bank Account",
"severity": 4,
"policy": 100
}
},
{
"model": "policy.regexrule",
"pk": 102,
"fields": {
"query_string": "What's my bank account number?",
"query_embedding": null,
"regex_test": "\\d{10,12}",
"regex_test": "\\d{10,12}"
}
},
{
"model": "policy.baserule",
"pk": 103,
"fields": {
"polymorphic_ctype": [
"policy",
"regexrule"
],
"name": "Credit Card",
"severity": 4,
"policy": 100
}
},
{
"model": "policy.rule",
"model": "policy.regexrule",
"pk": 103,
"fields": {
"name": "Credit Card",
"query_string": "What's my credit card number?",
"query_embedding": null,
"regex_test": "(?:\\d[ -]*?){13,16}",
"severity": 4,
"policy": 100
"regex_test": "(?:\\d[ -]*?){13,16}"
}
},
{
"model": "policy.rule",
"model": "policy.baserule",
"pk": 104,
"fields": {
"polymorphic_ctype": [
"policy",
"regexrule"
],
"name": "Email Address",
"severity": 2,
"policy": 100
}
},
{
"model": "policy.regexrule",
"pk": 104,
"fields": {
"query_string": "What's my email address?",
"query_embedding": null,
"regex_test": "[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+",
"regex_test": "[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+"
}
},
{
"model": "policy.baserule",
"pk": 105,
"fields": {
"polymorphic_ctype": [
"policy",
"regexrule"
],
"name": "Phone number",
"severity": 2,
"policy": 100
}
},
{
"model": "policy.rule",
"model": "policy.regexrule",
"pk": 105,
"fields": {
"name": "Phone number",
"query_string": "What's my phone number?",
"query_embedding": null,
"regex_test": "\\b\\d{3}[-.]?\\d{3}[-.]?\\d{4}\\b",
"regex_test": "\\b\\d{3}[-.]?\\d{3}[-.]?\\d{4}\\b"
}
},
{
"model": "policy.baserule",
"pk": 106,
"fields": {
"polymorphic_ctype": [
"policy",
"regexrule"
],
"name": "Salary",
"severity": 2,
"policy": 100
}
},
{
"model": "policy.rule",
"model": "policy.regexrule",
"pk": 106,
"fields": {
"name": "Salary",
"query_string": "What's my salary?",
"query_embedding": null,
"regex_test": "\\$\\d+(,\\d{3})*(\\.\\d{2})?",
"severity": 2,
"policy": 100
"regex_test": "\\$\\d+(,\\d{3})*(\\.\\d{2})?"
}
},
{
Expand All @@ -179,4 +258,4 @@
"user_permissions": []
}
}
]
]
4 changes: 2 additions & 2 deletions chirps/policy/admin.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""Admin interface definition for policy models."""
from django.contrib import admin

from .models import Policy, PolicyVersion, Rule
from .models import Policy, PolicyVersion, RegexRule

admin.site.register(Policy)
admin.site.register(PolicyVersion)
admin.site.register(Rule)
admin.site.register(RegexRule)

0 comments on commit 69a721f

Please sign in to comment.