Exemple #1
0
        // We need to have a parameterless constructor (it might be internal) if we want to use vdbtool to generate DDL scripts
        internal BooksEntityApp()
            : base("BookStore", CurrentVersion)
        {
            //Areas
              var booksArea = this.AddArea("books");
              var infoArea = this.AddArea("info");
              var loginArea = this.AddArea("login");

              //main module
              MainModule = new BooksModule(booksArea);
              //Standard modules
              var dbInfoModule = new DbInfoModule(infoArea);
              var cryptModule = new EncryptedDataModule(loginArea); //EncryptedData is used by login module
              var templateModule = new TemplateModule(booksArea);
              // LoginModule
              var loginStt = new LoginModuleSettings(passwordExpirationPeriod: TimeSpan.FromDays(180));
              loginStt.RequiredPasswordStrength = PasswordStrength.Medium;
              loginStt.DefaultEmailFrom = "*****@*****.**";

              var loginModule = new LoginModule(loginArea, loginStt);
              //var oauthModule = new OAuthClientModule(loginArea);
              //data history - we track history for book review, it is marked with WithHistory attribute
              var histModule = new DataHistoryModule(booksArea);

              //Notification service
              var notificationService = new Vita.Modules.Notifications.NotificationService(this);
              // Authorization object - uses LoginModule's authorization objects
              Authorization = new BooksAuthorization(this, loginModule);
              //api config - register controllers defined in Vita.Modules assembly; books controllers are registered by BooksModule
              base.ApiConfiguration.RegisterControllerTypes(
            typeof(LoginController), typeof(PasswordResetController), typeof(LoginSelfServiceController), typeof(LoginAdministrationController),
            typeof(ClientErrorController), typeof(LoggingDataController), typeof(EventsPostController),
            typeof(DiagnosticsController)
            );

              //logging app - linked to main app
              this.LoggingApp = new LoggingEntityApp("log");
              LoggingApp.LinkTo(this);

              //short expir period, just for testing
              var sessionStt = LoggingApp.GetConfig<UserSessionSettings>();
              sessionStt.SessionTimeout = TimeSpan.FromMinutes(5);
        }
Exemple #2
0
 public EntityAppV2()
     : base("SchemaUpdateApp")
 {
     var area = this.AddArea(SchemaName);
     var module = new EntityModuleV2(area);
     var dbInfo = new DbInfoModule(area);
 }