예제 #1
0
        public void BasicSqliteConnectionFactorUsageTest()
        {
            var factory = new SqLiteConnectionFactory();

            // this should now be the default sqlite in memory
            using (var connection = factory.Connect())
            {

                Assert.That(connection.ConnectionString, Is.EqualTo(factory.ConnectionString));
                Assert.That(connection.ConnectionString, Is.EqualTo(SqLiteConnectionFactory.MemoryConnectionString));

                Assert.That(connection.Database, Is.Not.Null);
            }
        }
예제 #2
0
        public override void Configure(Container container)
        {
            var factory = new SqLiteConnectionFactory()
            {
                ConnectionString = SqliteFile
            };

            if (enableBackups)
            {
                backupDaemon = new BackupDaemon(factory, TimeSpan.FromMinutes(BackupPeriodMinutes));
            }

            container.Register<IThingsRepository>(new ThingsRepository(factory));
            container.Register<IOpinionsRepository>(new OpinionsRepository(factory));
            container.Register<IUsersRepository>(new UsersRepository(factory));

            container.Register<ICacheClient>(new MemoryCacheClient() { FlushOnDispose = false });

            var authFeature = new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] {
                new SiouxAuthProvider()
            })
            {
                ServiceRoutes = new Dictionary<Type, string[]>
                {
                    { typeof(AuthService), new[]{"/api/auth", "/api/auth/{provider}"} },
                    { typeof(AssignRolesService), new[]{"/assignroles"} },
                    { typeof(UnAssignRolesService), new[]{"/unassignroles"} },
                },
                HtmlRedirect = null, // don't redirect to some login page on unauthorized access.
            };
            Plugins.Add(authFeature);

            SetConfig(new EndpointHostConfig
            {
                ServiceStackHandlerFactoryPath = "api",
                MetadataRedirectPath = "api/metadata",
                DebugMode = true, //Show StackTraces in service responses during development
            });
        }
 public ThingsRepository(SqLiteConnectionFactory factory)
 {
     connectionFactory = factory;
     EnsureTablesExist();
 }