حدود المؤسسات
EnterpriseScope، وRBAC، والتدقيق، والتشغيل البيني الآمن، ووضع الإقلاع.
EnterpriseScopeرابط إلى هذا القسم: EnterpriseScope
تتطلب المنافذ المؤسسية المقيّدة بالمؤسسة EnterpriseScope. وغياب organizationId يطلق استثناءً — فلا تُعاد أبدًا بيانات جميع المستأجرين.
/// 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;
}
}المصدر supercore/packages/after_enterprise/lib/src/scope/enterprise_scope.dart (يُفتح في علامة تبويب جديدة)
RBAC والتدقيقرابط إلى هذا القسم: RBAC والتدقيق
تتحقق الميزات الرأسية من PermissionSet.allows(...) قبل أي استدعاء يعدّل البيانات. وتصرّح المنتجات بسلاسل الأذونات الخاصة بها.
يجب أن يُلحِق كل إجراء مؤسسي معدِّل سجلًا من نوع AuditLogEntry بمستودع AuditLogRepository القائم على الإلحاق فقط.
التشغيل البيني الآمنرابط إلى هذا القسم: التشغيل البيني الآمن
تمرّ الاستدعاءات بين المنتجات عبر AfterSecureInteropBridge: جمهور After ID، والنطاقات، وRBAC، وعضوية المؤسسة، ثم إدخال تدقيق إلزامي.
- التحقق من جمهور After ID
- النطاقات وRBAC وعضوية المؤسسة عند وجود مؤسسة
- إدخال تدقيق إلزامي
- تقليل اختياري للبيانات وفق مخطط نقطة النهاية
وضع الإقلاعرابط إلى هذا القسم: وضع الإقلاع
في وضع الإنتاج، يطلق غياب أي محوّل استثناءً عند بدء التشغيل، فلا يمكن للمزوّدات الوهمية أن تصل إلى الإنتاج بصمت.
/// 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,
}المنافذ المؤسسيةرابط إلى هذا القسم: المنافذ المؤسسية
تحلّ الخوادم الخلفية الحقيقية محل MockEnterpriseRepository في جذر التركيب. ولا تعرف طبقة النظام اسم المورّد أبدًا.
- EnterpriseScope
- OrganizationRepository
- RbacRepository
- PermissionSet
- WorkflowEngine
- TaskRepository
- CalendarRepository
- DocumentRepository
- EnterpriseAiAssistant
- AuditLogRepository
- OfflineSyncQueue
- EnterpriseApiClient
- MockEnterpriseRepository
- EnterpriseProductRuntime
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(),
),
];
}المصدر supercore/templates/super_app_enterprise/after_framework.dart (يُفتح في علامة تبويب جديدة)
هذه ضوابط معمارية موثّقة في مستودع supercore. ولا يدّعي After Framework الحصول على أي شهادة أو تحقيق أي امتثال تنظيمي.