
* events: rename audit to events * policies/expression: log expression exceptions as event * policies/expression: add ExpressionPolicy Model to event when possible * lib/expressions: ensure syntax errors are logged too * lib: fix lint error * policies: add execution_logging field * core: add property mapping tests * policies/expression: add full test * policies/expression: fix attribute name * policies: add execution_logging * web: fix imports * root: update swagger * policies: use dataclass instead of dict for types * events: add support for dataclass as event param * events: add special keys which are never cleaned * policies: add tests for process, don't clean full cache * admin: create event when new version is seen * events: move utils to separate file * admin: add tests for admin tasks * events: add .set_user method to ensure users have correct attributes set * core: add test for property_mapping errors with user and request
71 lines
2.3 KiB
Python
71 lines
2.3 KiB
Python
# Generated by Django 3.0.6 on 2020-05-19 22:08
|
|
|
|
import uuid
|
|
|
|
import django.db.models.deletion
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="Event",
|
|
fields=[
|
|
(
|
|
"event_uuid",
|
|
models.UUIDField(
|
|
default=uuid.uuid4,
|
|
editable=False,
|
|
primary_key=True,
|
|
serialize=False,
|
|
),
|
|
),
|
|
(
|
|
"action",
|
|
models.TextField(
|
|
choices=[
|
|
("LOGIN", "login"),
|
|
("LOGIN_FAILED", "login_failed"),
|
|
("LOGOUT", "logout"),
|
|
("AUTHORIZE_APPLICATION", "authorize_application"),
|
|
("SUSPICIOUS_REQUEST", "suspicious_request"),
|
|
("SIGN_UP", "sign_up"),
|
|
("PASSWORD_RESET", "password_reset"),
|
|
("INVITE_CREATED", "invitation_created"),
|
|
("INVITE_USED", "invitation_used"),
|
|
("CUSTOM", "custom"),
|
|
]
|
|
),
|
|
),
|
|
("date", models.DateTimeField(auto_now_add=True)),
|
|
("app", models.TextField()),
|
|
(
|
|
"context",
|
|
models.JSONField(blank=True, default=dict),
|
|
),
|
|
("client_ip", models.GenericIPAddressField(null=True)),
|
|
("created", models.DateTimeField(auto_now_add=True)),
|
|
(
|
|
"user",
|
|
models.ForeignKey(
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to=settings.AUTH_USER_MODEL,
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "Event",
|
|
"verbose_name_plural": "Events",
|
|
},
|
|
),
|
|
]
|