After Framework

Kurumsal sınırlar

EnterpriseScope, RBAC, denetim, güvenli birlikte çalışma ve başlatma modu.

Doküman sürümü: supercore main · paketler 1.0.0

EnterpriseScopeBu bölümün bağlantısı: EnterpriseScope

Organizasyon kapsamlı kurumsal portlar bir EnterpriseScope gerektirir. Eksik bir organizationId hata fırlatır — asla tüm kiracıları döndürmez.

dart
/// Fail-closed tenant + actor context for enterprise ports (ADR-002).
class EnterpriseScope {
  final String organizationId;
  final String actorId;
  final PermissionSet permissions;

  /// Throws if [organizationId] is missing/blank — never allow all-tenant lists.
  static String requireOrganizationId(String? organizationId) {
    final id = organizationId?.trim() ?? '';
    if (id.isEmpty) {
      throw StateError(
        'EnterpriseScope: organizationId is required (fail-closed tenancy).',
      );
    }
    return id;
  }
}

Kaynak supercore/packages/after_enterprise/lib/src/scope/enterprise_scope.dart (yeni sekmede açılır)

ADR-002 (yeni sekmede açılır)

RBAC ve denetimBu bölümün bağlantısı: RBAC ve denetim

Dikey özellikler, veri değiştiren her çağrıdan önce PermissionSet.allows(...) kontrolü yapar. Ürünler kendi izin dizelerini tanımlar.

Veri değiştiren her kurumsal işlem, yalnızca eklemeli AuditLogRepository'ye bir AuditLogEntry eklemelidir.

Güvenli birlikte çalışmaBu bölümün bağlantısı: Güvenli birlikte çalışma

Ürünler arası çağrılar AfterSecureInteropBridge'den geçer: After ID hedef kitlesi, kapsamlar, RBAC ve organizasyon üyeliği, ardından zorunlu bir denetim kaydı.

  1. After ID hedef kitle kontrolü
  2. Organizasyon varsa kapsamlar, RBAC ve organizasyon üyeliği
  3. Zorunlu denetim kaydı
  4. Uç nokta şemasına göre isteğe bağlı veri minimizasyonu

ADR-006 (yeni sekmede açılır)

Başlatma moduBu bölümün bağlantısı: Başlatma modu

Üretim modunda eksik bir adaptör başlangıçta hata fırlatır; böylece mock sağlayıcılar sessizce üretime ulaşamaz.

dart
/// Composition safety mode (ADR-007).
///
/// - [scaffold]: in-memory / mock adapters are allowed (templates, tests).
/// - [production]: missing real adapters must throw at startup.
enum AfterBootstrapMode {
  scaffold,
  production,
}

Kaynak supercore/packages/after_core/lib/src/bootstrap/after_bootstrap_mode.dart (yeni sekmede açılır)

ADR-007 (yeni sekmede açılır)

Kurumsal portlarBu bölümün bağlantısı: Kurumsal portlar

Gerçek arka uçlar, kompozisyon kökünde MockEnterpriseRepository'nin yerini alır. OS katmanı sağlayıcının adını asla öğrenmez.

  • EnterpriseScope
  • OrganizationRepository
  • RbacRepository
  • PermissionSet
  • WorkflowEngine
  • TaskRepository
  • CalendarRepository
  • DocumentRepository
  • EnterpriseAiAssistant
  • AuditLogRepository
  • OfflineSyncQueue
  • EnterpriseApiClient
  • MockEnterpriseRepository
  • EnterpriseProductRuntime
dart
static Future<List<Override>> ensureConfigured({
  EnterpriseRepository? enterpriseRepository,
}) async {
  PlatformConfig.current = superAppEnterpriseManifest;
  final prefs = await SharedPreferences.getInstance();
  return [
    ...AfterStandardOverrides.create(
      preferences: prefs,
      userAgent: '${superAppEnterpriseManifest.appName}/'
          '${superAppEnterpriseManifest.appId}',
    ),
    enterpriseRepositoryProvider.overrideWithValue(
      enterpriseRepository ?? MockEnterpriseRepository(),
    ),
  ];
}

Kaynak supercore/templates/super_app_enterprise/after_framework.dart (yeni sekmede açılır)

Bunlar supercore deposunda belgelenmiş mimari kontrollerdir. After Framework herhangi bir sertifikasyon veya mevzuat uyumluluğu iddiasında bulunmaz.