"""Base model classes and utilities for integrations.

This module provides shared base classes and utilities used across
all integration models.
"""

import re

from django.db import models

# LinkedIn URN validation patterns
ORGANIZATION_URN_PATTERN = re.compile(r"^urn:li:organization:\d+$")
PERSON_URN_PATTERN = re.compile(r"^urn:li:person:[A-Za-z0-9_-]+$")


class TimestampedModel(models.Model):
    """Abstract base for timestamped models."""

    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True
