feat: Add Academy, Whistleblower, Incidents, Vendor, DSB, SSO, Reporting, Multi-Tenant and Industry backends
Go handlers, models, stores and migrations for all SDK modules. Updates developer portal navigation and BYOEH page. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
65
ai-compliance-sdk/internal/industry/models.go
Normal file
65
ai-compliance-sdk/internal/industry/models.go
Normal file
@@ -0,0 +1,65 @@
|
||||
package industry
|
||||
|
||||
// ============================================================================
|
||||
// Industry-Specific Compliance Templates (Phase 3.3)
|
||||
// Static reference data — no database migration needed.
|
||||
// ============================================================================
|
||||
|
||||
// IndustryTemplate represents a complete compliance package for a specific industry
|
||||
type IndustryTemplate struct {
|
||||
Slug string `json:"slug"`
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Icon string `json:"icon"`
|
||||
Regulations []string `json:"regulations"`
|
||||
VVTTemplates []VVTTemplate `json:"vvt_templates"`
|
||||
TOMRecommendations []TOMRecommendation `json:"tom_recommendations"`
|
||||
RiskScenarios []RiskScenario `json:"risk_scenarios"`
|
||||
}
|
||||
|
||||
// VVTTemplate represents a pre-configured processing activity record template
|
||||
type VVTTemplate struct {
|
||||
Name string `json:"name"`
|
||||
Purpose string `json:"purpose"`
|
||||
LegalBasis string `json:"legal_basis"`
|
||||
DataCategories []string `json:"data_categories"`
|
||||
DataSubjects []string `json:"data_subjects"`
|
||||
RetentionPeriod string `json:"retention_period"`
|
||||
}
|
||||
|
||||
// TOMRecommendation represents a recommended technical/organizational measure
|
||||
type TOMRecommendation struct {
|
||||
Category string `json:"category"`
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Priority string `json:"priority"`
|
||||
}
|
||||
|
||||
// RiskScenario represents an industry-specific data protection risk scenario
|
||||
type RiskScenario struct {
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Likelihood string `json:"likelihood"`
|
||||
Impact string `json:"impact"`
|
||||
Mitigation string `json:"mitigation"`
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// API Response Types
|
||||
// ============================================================================
|
||||
|
||||
// IndustryListResponse is the API response for listing all industries
|
||||
type IndustryListResponse struct {
|
||||
Industries []IndustrySummary `json:"industries"`
|
||||
Total int `json:"total"`
|
||||
}
|
||||
|
||||
// IndustrySummary is a condensed view of an industry template for list endpoints
|
||||
type IndustrySummary struct {
|
||||
Slug string `json:"slug"`
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Icon string `json:"icon"`
|
||||
RegulationCount int `json:"regulation_count"`
|
||||
TemplateCount int `json:"template_count"`
|
||||
}
|
||||
Reference in New Issue
Block a user