├── .babelrc
├── .electron-vue
├── build.js
├── dev-client.js
├── dev-runner.js
├── webpack.main.config.js
├── webpack.renderer.config.js
└── webpack.web.config.js
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .travis.yml
├── .vscode
├── launch.json
└── tasks.json
├── LICENSE
├── README.md
├── appveyor.yml
├── build
└── icons
│ ├── 256x256.png
│ ├── icon.icns
│ └── icon.ico
├── dist
├── electron
│ └── .gitkeep
└── web
│ └── .gitkeep
├── package.json
├── src
├── api
│ ├── 3rd
│ │ ├── Castle.Windsor.InstallerPriority
│ │ │ ├── Castle.Windsor.InstallerPriority.csproj
│ │ │ └── WindsorPriorityBootstrap.cs
│ │ ├── Castle.Windsor.ServiceCollection
│ │ │ ├── Castle.Windsor.ServiceCollection.csproj
│ │ │ └── WindsorServiceCollection.cs
│ │ └── WorkflowCore.Extensions.WorkflowController
│ │ │ ├── WorkflowControllerExtensions.cs
│ │ │ └── WorkflowCore.Extensions.WorkflowController.csproj
│ ├── FastSQL.API
│ │ ├── Controllers
│ │ │ ├── AdaptersController.cs
│ │ │ ├── AttributesController.cs
│ │ │ ├── ConnectionsController.cs
│ │ │ ├── EntitiesController.cs
│ │ │ ├── ProcessorsController.cs
│ │ │ ├── ProvidersController.cs
│ │ │ ├── PullersController.cs
│ │ │ ├── PushersController.cs
│ │ │ └── SettingsController.cs
│ │ ├── FastSQL.API.csproj
│ │ ├── Migrations
│ │ │ └── 1.0.0
│ │ │ │ ├── 1523441581-InitDatabase.sql
│ │ │ │ ├── 1524036538-UpdateEntityAndAttributeTableProcessors.sql
│ │ │ │ ├── 1524110565-AddStateColumnForEntityAndAttribute.sql
│ │ │ │ └── 1524161797-AddUniqueConstraints.sql
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Startup.cs
│ │ ├── ViewModels
│ │ │ ├── CreateAttributeViewModel.cs
│ │ │ ├── CreateConnectionStringModel.cs
│ │ │ ├── CreateConnectionViewModel.cs
│ │ │ ├── CreateEntityViewModel.cs
│ │ │ ├── QueryViewModel.cs
│ │ │ ├── TemplateOptionRequestViewModel.cs
│ │ │ └── UpdateConnectionViewModel.cs
│ │ ├── WindsorInstaller.cs
│ │ └── appsettings.json
│ ├── FastSQL.App
│ │ ├── App.config
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── Events
│ │ │ ├── DataGridEventArgument.cs
│ │ │ ├── ManageIndexLoadingEvent.cs
│ │ │ ├── OpenIndexPreviewPageEvent.cs
│ │ │ ├── OpenManageIndexPageEvent.cs
│ │ │ ├── RefreshChannelListEvent.cs
│ │ │ ├── RefreshConnectionListEvent.cs
│ │ │ ├── RefreshIndexesListViewEvent.cs
│ │ │ ├── RefreshReporterListEvent.cs
│ │ │ ├── SelectChannelEvent.cs
│ │ │ ├── SelectConnectionEvent.cs
│ │ │ ├── SelectIndexEvent.cs
│ │ │ ├── SelectReporterEvent.cs
│ │ │ └── SelectSettingEvent.cs
│ │ ├── Extensions
│ │ │ ├── BindingProxy.cs
│ │ │ └── ContextMenuServiceExtensions.cs
│ │ ├── FastSQL.App.csproj
│ │ ├── FastSQL.App.csproj.user
│ │ ├── Interfaces
│ │ │ ├── BaseCommand.cs
│ │ │ └── BaseViewModel.cs
│ │ ├── MainWindow.ViewModel.cs
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── Managers
│ │ │ ├── AttributePageManager.cs
│ │ │ ├── ConnectionPageManager.cs
│ │ │ ├── EntityPageManager.cs
│ │ │ ├── MessageDeliveryChannelPageManager.cs
│ │ │ ├── QueueManager.cs
│ │ │ ├── ReporterPageManager.cs
│ │ │ ├── SchedulerPageManager.cs
│ │ │ ├── SettingManager.cs
│ │ │ └── SettingPageManager.cs
│ │ ├── Middlewares
│ │ │ └── ApplicationSettings
│ │ │ │ ├── ApplicationSettingMiddleware.cs
│ │ │ │ ├── WApplicationSettings.ViewModel.cs
│ │ │ │ ├── WApplicationSettings.xaml
│ │ │ │ └── WApplicationSettings.xaml.cs
│ │ ├── Migrations
│ │ │ └── 1.0.0
│ │ │ │ ├── 1523441581-InitDatabase.sql
│ │ │ │ ├── 1524036538-UpdateEntityAndAttributeTableProcessors.sql
│ │ │ │ ├── 1524110565-AddStateColumnForEntityAndAttribute.sql
│ │ │ │ ├── 1524161797-AddUniqueConstraints.sql
│ │ │ │ ├── 1525009845-AddEntityDependTable.sql
│ │ │ │ ├── 1525009870-AddEntityColumnTransformation.sql
│ │ │ │ ├── 1525009970-AddTransformOptionRelationship.sql
│ │ │ │ ├── 1525333084-AddDependencyReferenceColumns.sql
│ │ │ │ ├── 1525333086-AddIndexTablesInfo.sql
│ │ │ │ ├── 1525334086-AddIndexPullHistory.sql
│ │ │ │ ├── 1525335086-AddIndexPullDependencies.sql
│ │ │ │ ├── 1528054402-AddTableQueueItem.sql
│ │ │ │ ├── 1528054404-AddTableScheduleItem.sql
│ │ │ │ ├── 1528054406-AddTableMessageItems.sql
│ │ │ │ ├── 1528054407-QueueItem_AddRetryCount.sql
│ │ │ │ ├── 1528054409-MessageItem_LinkReporter.sql
│ │ │ │ ├── 1528054410-Reporter_LinkChannel.sql
│ │ │ │ ├── 1528054411-AddTableReporter.sql
│ │ │ │ ├── 1528054412-AddTableMessageDeliveryChannel.sql
│ │ │ │ └── 1528054413-OptionEntityIdNVarchar.sql
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── UserControls
│ │ │ ├── Connections
│ │ │ │ ├── UCConnectionListView.ViewModel.cs
│ │ │ │ ├── UCConnectionsContent.ViewModel.cs
│ │ │ │ ├── UCConnectionsContent.xaml
│ │ │ │ ├── UCConnectionsContent.xaml.cs
│ │ │ │ ├── UCConnectionsListView.xaml
│ │ │ │ └── UCConnectionsListView.xaml.cs
│ │ │ ├── DataGrid
│ │ │ │ ├── DataGridViewModel.cs
│ │ │ │ ├── UCDataGrid.xaml
│ │ │ │ └── UCDataGrid.xaml.cs
│ │ │ ├── Indexes
│ │ │ │ ├── UCIndexDependencies.ViewModel.cs
│ │ │ │ ├── UCIndexDependencies.xaml
│ │ │ │ ├── UCIndexDependencies.xaml.cs
│ │ │ │ ├── UCIndexDetail.ViewModel.cs
│ │ │ │ ├── UCIndexDetail.xaml
│ │ │ │ ├── UCIndexDetail.xaml.cs
│ │ │ │ ├── UCIndexesListView.ViewModel.cs
│ │ │ │ ├── UCIndexesListView.xaml
│ │ │ │ ├── UCIndexesListView.xaml.cs
│ │ │ │ ├── WManageIndex.ViewModel.cs
│ │ │ │ ├── WManageIndex.xaml
│ │ │ │ └── WManageIndex.xaml.cs
│ │ │ ├── MessageDeliveryChannels
│ │ │ │ ├── UCMessageDeliveryChannelContent.ViewModel.cs
│ │ │ │ ├── UCMessageDeliveryChannelContent.xaml
│ │ │ │ ├── UCMessageDeliveryChannelContent.xaml.cs
│ │ │ │ ├── UCMessageDeliveryChannelListView.ViewModel.cs
│ │ │ │ ├── UCMessageDeliveryChannelListView.xaml
│ │ │ │ └── UCMessageDeliveryChannelListView.xaml.cs
│ │ │ ├── OptionItems
│ │ │ │ ├── OptionItemViewModel.cs
│ │ │ │ ├── UCGridOptions.ViewModel.cs
│ │ │ │ ├── UCGridOptions.xaml
│ │ │ │ ├── UCGridOptions.xaml.cs
│ │ │ │ ├── UCOpenFileDialog.xaml
│ │ │ │ ├── UCOpenFileDialog.xaml.cs
│ │ │ │ ├── UCOptionItem.xaml
│ │ │ │ └── UCOptionItem.xaml.cs
│ │ │ ├── OutputView
│ │ │ │ ├── UCOutputView.ViewModel.cs
│ │ │ │ ├── UCOutputView.xaml
│ │ │ │ └── UCOutputView.xaml.cs
│ │ │ ├── Previews
│ │ │ │ ├── PreviewDataViewModel.cs
│ │ │ │ ├── WPreviewData.xaml
│ │ │ │ └── WPreviewData.xaml.cs
│ │ │ ├── Queues
│ │ │ │ ├── UCQueueContent.ViewModel.cs
│ │ │ │ ├── UCQueueContent.xaml
│ │ │ │ └── UCQueueContent.xaml.cs
│ │ │ ├── Reporters
│ │ │ │ ├── UCReporterContent.ViewModel.cs
│ │ │ │ ├── UCReporterContent.xaml
│ │ │ │ ├── UCReporterContent.xaml.cs
│ │ │ │ ├── UCRepoterListView.ViewModel.cs
│ │ │ │ ├── UCRepoterListView.xaml
│ │ │ │ └── UCRepoterListView.xaml.cs
│ │ │ ├── Schedulers
│ │ │ │ ├── UCSchedulerContent.ViewModel.cs
│ │ │ │ ├── UCSchedulerContent.xaml
│ │ │ │ └── UCSchedulerContent.xaml.cs
│ │ │ ├── Settings
│ │ │ │ ├── UCSettingContent.ViewModel.cs
│ │ │ │ ├── UCSettingsContent.xaml
│ │ │ │ ├── UCSettingsContent.xaml.cs
│ │ │ │ ├── UCSettingsListView.ViewModel.cs
│ │ │ │ ├── UCSettingsListView.xaml
│ │ │ │ └── UCSettingsListView.xaml.cs
│ │ │ └── Transformers
│ │ │ │ ├── UCTransformationConfigure.ViewModel.cs
│ │ │ │ ├── UCTransformationConfigure.xaml
│ │ │ │ └── UCTransformationConfigure.xaml.cs
│ │ ├── ViewModels
│ │ │ ├── DependencyItemViewModel.cs
│ │ │ └── TransformationItemViewModel.cs
│ │ ├── WindsorInstaller.cs
│ │ └── appsettings.json
│ ├── FastSQL.Core.UI
│ │ ├── Events
│ │ │ ├── ActivateControlEvent.cs
│ │ │ └── AddPageEvent.cs
│ │ ├── FastSQL.Core.UI.csproj
│ │ ├── Interfaces
│ │ │ ├── IControlDefinition.cs
│ │ │ └── IPageManager.cs
│ │ └── Models
│ │ │ ├── ItemsChangeObservableCollection.cs
│ │ │ └── MenuItemDefinition.cs
│ ├── FastSQL.Core
│ │ ├── ApplicationResourceManager.cs
│ │ ├── BaseAdapter.cs
│ │ ├── BaseOptionMananger.cs
│ │ ├── BaseProvider.cs
│ │ ├── Events
│ │ │ ├── ApplicationOutputEvent.cs
│ │ │ └── IntegrationOutputEvent.cs
│ │ ├── ExtensionMethods
│ │ │ ├── CastleWindsorExtensions.cs
│ │ │ ├── MergeExtension.cs
│ │ │ └── OptionsExtensions.cs
│ │ ├── FastSQL.Core.csproj
│ │ ├── IApplicationResourceManager.cs
│ │ ├── IOptionManager.cs
│ │ ├── IRichAdapter.cs
│ │ ├── IRichProvider.cs
│ │ ├── Loggers
│ │ │ ├── ApplicationOutputSink.cs
│ │ │ ├── LoggerFactory.cs
│ │ │ └── SlackErrorSink.cs
│ │ ├── Middlewares
│ │ │ └── IMiddleware.cs
│ │ ├── OptionItem.cs
│ │ ├── OptionType.cs
│ │ ├── QueryResult.cs
│ │ └── ResolverFactory.cs
│ ├── FastSQL.Service
│ │ ├── FastSQL.Service.csproj
│ │ └── Program.cs
│ ├── Sync
│ │ ├── FastSQL.Sync.Core.Settings
│ │ │ ├── AttributesSettings.cs
│ │ │ ├── AttributesSettingsOptionManager.cs
│ │ │ ├── EntitiesSettings.cs
│ │ │ ├── EntitiesSettingsOptionManager.cs
│ │ │ ├── Events
│ │ │ │ └── ApplicationRestartEvent.cs
│ │ │ ├── FastSQL.Sync.Core.Settings.csproj
│ │ │ └── IndexDatabaseSettingProvider.cs
│ │ ├── FastSQL.Sync.Core
│ │ │ ├── Attributes
│ │ │ │ └── EntityTypeAttribute.cs
│ │ │ ├── Constants
│ │ │ │ └── DataGridContstants.cs
│ │ │ ├── Enums
│ │ │ │ ├── EntityState.cs
│ │ │ │ ├── EntityType.cs
│ │ │ │ ├── IntegrationStep.cs
│ │ │ │ ├── ItemState.cs
│ │ │ │ ├── MessageStatus.cs
│ │ │ │ ├── MessageType.cs
│ │ │ │ ├── ProcessorType.cs
│ │ │ │ ├── PullState.cs
│ │ │ │ ├── PushState.cs
│ │ │ │ └── ScheduleStatus.cs
│ │ │ ├── Events
│ │ │ │ └── ReportMessageEvent.cs
│ │ │ ├── ExtensionMethods
│ │ │ │ ├── ModelExtensions.cs
│ │ │ │ └── ScrollViewerExtensions.cs
│ │ │ ├── Factories
│ │ │ │ └── SynchronizerFactory.cs
│ │ │ ├── FastSQL.Sync.Core.csproj
│ │ │ ├── Filters
│ │ │ │ └── FilterArgument.cs
│ │ │ ├── IProcessor.cs
│ │ │ ├── ITransformer.cs
│ │ │ ├── IndexExporters
│ │ │ │ ├── BaseIndexExporter.cs
│ │ │ │ ├── CsvIndexExporter.cs
│ │ │ │ ├── IIndexExporter.cs
│ │ │ │ └── MsSqlIndexExporter.cs
│ │ │ ├── Indexer
│ │ │ │ ├── AttributeIndexerOptionManager.cs
│ │ │ │ ├── BaseAttributeIndexer.cs
│ │ │ │ ├── BaseEntityIndexer.cs
│ │ │ │ ├── BaseIndexer.cs
│ │ │ │ ├── EntityIndexerOptionManager.cs
│ │ │ │ ├── IIndexer.cs
│ │ │ │ └── IndexerManager.cs
│ │ │ ├── MapResult.cs
│ │ │ ├── Mapper
│ │ │ │ ├── BaseMapper.cs
│ │ │ │ ├── EntityMapperOptionManager.cs
│ │ │ │ ├── IMapper.cs
│ │ │ │ └── MapperManager.cs
│ │ │ ├── MessageDeliveryChannels
│ │ │ │ ├── BaseMessageDeliverChannel.cs
│ │ │ │ ├── IMessageDeliveryChannel.cs
│ │ │ │ └── SlackChannel
│ │ │ │ │ ├── SlackMessageDeliverChannel.cs
│ │ │ │ │ └── SlackMessageDeliverChannelOptionManager.cs
│ │ │ ├── Models
│ │ │ │ ├── AttributeModel.cs
│ │ │ │ ├── CSVColumnMapping.cs
│ │ │ │ ├── ColumnTransformationModel.cs
│ │ │ │ ├── ConnectionModel.cs
│ │ │ │ ├── DependencyItemModel.cs
│ │ │ │ ├── EntityModel.cs
│ │ │ │ ├── IIndexModel.cs
│ │ │ │ ├── IndexColumnMapping.cs
│ │ │ │ ├── IndexItemModel.cs
│ │ │ │ ├── MessageDeliveryChannelModel.cs
│ │ │ │ ├── MessageModel.cs
│ │ │ │ ├── OptionGroupModel.cs
│ │ │ │ ├── OptionModel.cs
│ │ │ │ ├── PullTokenModel.cs
│ │ │ │ ├── QueueItemModel.cs
│ │ │ │ ├── RelMessageReporterModel.cs
│ │ │ │ ├── RelReporterDeliveryChannel.cs
│ │ │ │ ├── ReporterColumnMapping.cs
│ │ │ │ ├── ReporterModel.cs
│ │ │ │ └── SchedulerOptionModel.cs
│ │ │ ├── Processors
│ │ │ │ ├── AttributeOptionProcessor.cs
│ │ │ │ ├── AttributeProcessor.cs
│ │ │ │ ├── AttributeSetProcessor.cs
│ │ │ │ ├── CustomerProcessor.cs
│ │ │ │ ├── EntityProcessor.cs
│ │ │ │ ├── ImageAttributeProcessor.cs
│ │ │ │ ├── MultipleAttributeProcessor.cs
│ │ │ │ ├── OrderItemProcessor.cs
│ │ │ │ ├── OrderProcessor.cs
│ │ │ │ ├── ParentCategoryAttributeProcessor.cs
│ │ │ │ ├── ParentCategoryProcessor.cs
│ │ │ │ ├── ProductProcessor.cs
│ │ │ │ ├── PromotionAttributeProcessor.cs
│ │ │ │ ├── SingleAttributeProcessor.cs
│ │ │ │ ├── StockAttributeProcessor.cs
│ │ │ │ ├── SubCategoryAttributeProcessor.cs
│ │ │ │ ├── SubCategoryProcessor.cs
│ │ │ │ └── TierPriceAttributeProcessor.cs
│ │ │ ├── PullResult.cs
│ │ │ ├── Puller
│ │ │ │ ├── BasePuller.cs
│ │ │ │ └── IPuller.cs
│ │ │ ├── Pusher
│ │ │ │ ├── BasePusher.cs
│ │ │ │ ├── IPusher.cs
│ │ │ │ └── PusherManager.cs
│ │ │ ├── Queuers
│ │ │ │ └── QueueChangesManager.cs
│ │ │ ├── Reporters
│ │ │ │ ├── BaseReporter.cs
│ │ │ │ ├── ErrorReporter
│ │ │ │ │ ├── ErrorReporter.cs
│ │ │ │ │ └── ErrorReporterOptionManager.cs
│ │ │ │ ├── ExceptionReporter
│ │ │ │ │ ├── ExceptionReporter.cs
│ │ │ │ │ └── ExceptionReporterOptionManager.cs
│ │ │ │ ├── IReporter.cs
│ │ │ │ └── SuccessItemReporter
│ │ │ │ │ ├── SuccessItemReporter.cs
│ │ │ │ │ └── SuccessItemReporterOptionManager.cs
│ │ │ ├── Repositories
│ │ │ │ ├── AttributeRepository.cs
│ │ │ │ ├── BaseGenericRepository.cs
│ │ │ │ ├── BaseIndexRepository.cs
│ │ │ │ ├── BaseRepository.cs
│ │ │ │ ├── ConnectionRepository.cs
│ │ │ │ ├── EntityRepository.cs
│ │ │ │ ├── IndexExporterRepository.cs
│ │ │ │ ├── IndexTokenRepository.cs
│ │ │ │ ├── MessageDeliveryChannelRepository.cs
│ │ │ │ ├── MessageRepository.cs
│ │ │ │ ├── QueueItemRepository.cs
│ │ │ │ ├── ReporterRepository.cs
│ │ │ │ ├── RepositoryFactory.cs
│ │ │ │ ├── ScheduleOptionRepository.cs
│ │ │ │ └── TransformerRepository.cs
│ │ │ ├── Settings
│ │ │ │ ├── BaseSettingProvider.cs
│ │ │ │ └── ISettingProvider.cs
│ │ │ ├── Transformers
│ │ │ │ ├── BaseTransformer.cs
│ │ │ │ ├── StringDateTimeTransformer.cs
│ │ │ │ └── StringTrimTransformer.cs
│ │ │ └── Workflows
│ │ │ │ ├── IConfigurableWorkflow.cs
│ │ │ │ └── WorkingSchedules.cs
│ │ └── FastSQL.Sync.Workflow
│ │ │ ├── FastSQL.Sync.Workflow.csproj
│ │ │ ├── FastSQL.Sync.Workflow.csproj.user
│ │ │ ├── Models
│ │ │ └── GeneralMessage.cs
│ │ │ ├── Steps
│ │ │ ├── BaseStepBodyInvoker.cs
│ │ │ ├── DeliverMessageStep.cs
│ │ │ ├── FilterRunningEntitiesStep.cs
│ │ │ ├── PushItemChangedStep.cs
│ │ │ ├── QueueIndexChangesStep.cs
│ │ │ ├── ReportStep.cs
│ │ │ ├── RequeueErrorsStep.cs
│ │ │ └── UpdateIndexChangesStep.cs
│ │ │ ├── SyncService.cs
│ │ │ └── Workflows
│ │ │ ├── BaseWorkflow.cs
│ │ │ ├── DeliverMessagesWorkflow.cs
│ │ │ ├── PullIndexParallelWorkflow.cs
│ │ │ ├── PullIndexSequenceWorkflow.cs
│ │ │ ├── PushWorkflow.cs
│ │ │ ├── QueueIndexChangesWorkflow.cs
│ │ │ ├── ReportWorkflow.cs
│ │ │ └── RequeueErrorsWorkflow.cs
│ ├── Vendors
│ │ ├── Magento1
│ │ │ ├── FastSQL.Magento1.Integration
│ │ │ │ ├── FastSQL.Magento1.Integration.csproj
│ │ │ │ ├── Indexers
│ │ │ │ │ ├── CustomerIndexer.cs
│ │ │ │ │ ├── CustomerIndexerOptionManager.cs
│ │ │ │ │ ├── OrderIndexer.cs
│ │ │ │ │ ├── OrderIndexerOptionManager.cs
│ │ │ │ │ ├── OrderItemIndexer.cs
│ │ │ │ │ └── OrderItemIndexerOptionManager.cs
│ │ │ │ ├── Mappers
│ │ │ │ │ ├── AttributeSetMapper.cs
│ │ │ │ │ ├── AttributeSetMapperOptionManager.cs
│ │ │ │ │ ├── ParentCategoryMapper.cs
│ │ │ │ │ ├── ParentCategoryMapperOptionManager.cs
│ │ │ │ │ ├── ProductMapper.cs
│ │ │ │ │ ├── ProductMapperOptionManager.cs
│ │ │ │ │ ├── SubCategoryMapper.cs
│ │ │ │ │ └── SubCategoryMapperOptionManager.cs
│ │ │ │ ├── Pullers
│ │ │ │ │ ├── CustomerPuller.cs
│ │ │ │ │ ├── CustomerPullerOptionManager.cs
│ │ │ │ │ ├── OrderItemPuller.cs
│ │ │ │ │ ├── OrderItemPullerOptionManager.cs
│ │ │ │ │ ├── OrderPuller.cs
│ │ │ │ │ └── OrderPullerOptionManager.cs
│ │ │ │ └── Pushers
│ │ │ │ │ ├── AttributeSetPusher.cs
│ │ │ │ │ ├── AttributeSetPusherOptionManager.cs
│ │ │ │ │ ├── ParentCategoryPusher.cs
│ │ │ │ │ ├── ParentCategoryPusherOptionManager.cs
│ │ │ │ │ ├── ProductAttributeOptionPusher.cs
│ │ │ │ │ ├── ProductAttributeOptionPusherOptionManager.cs
│ │ │ │ │ ├── ProductPusher.cs
│ │ │ │ │ ├── ProductPusherOptionManager.cs
│ │ │ │ │ ├── Products
│ │ │ │ │ ├── ProductImagePusher.cs
│ │ │ │ │ ├── ProductImagePusherOptionManager.cs
│ │ │ │ │ ├── ProductMultipleAttributePusher.cs
│ │ │ │ │ ├── ProductMultipleAttributePusherOptionManager.cs
│ │ │ │ │ ├── ProductParentCategoryPusher.cs
│ │ │ │ │ ├── ProductParentCategoryPusherOptionManager.cs
│ │ │ │ │ ├── ProductPromotionPusher.cs
│ │ │ │ │ ├── ProductPromotionPusherOptionManager.cs
│ │ │ │ │ ├── ProductSingleAttributePusher.cs
│ │ │ │ │ ├── ProductSingleAttributePusherOptionManager.cs
│ │ │ │ │ ├── ProductStockPusher.cs
│ │ │ │ │ ├── ProductStockPusherOptionManager.cs
│ │ │ │ │ ├── ProductSubCategoryPusher.cs
│ │ │ │ │ ├── ProductSubCategoryPusherOptionManager.cs
│ │ │ │ │ ├── ProductTierPricePusher.cs
│ │ │ │ │ └── ProductTierPricePusherOptionManager.cs
│ │ │ │ │ ├── SubCategoryPusher.cs
│ │ │ │ │ └── SubCategoryPusherOptionManager.cs
│ │ │ └── FastSQL.Magento1
│ │ │ │ ├── Connected Services
│ │ │ │ └── Magento1Soap
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.apiEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.associativeEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogAssignedProduct.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogAttributeEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogAttributeOptionEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogCategoryAttributeCurrentStoreResponse.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogCategoryCurrentStoreResponse.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogCategoryEntityNoChildren.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogCategoryInfo.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogCategoryTree.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogInventoryStockItemEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductAttributeCurrentStoreResponse.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductAttributeEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductAttributeMediaCurrentStoreResponse.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductAttributeMediaTypeEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductAttributeSetEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductCurrentStoreResponse.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductCustomOptionInfoEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductCustomOptionListEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductCustomOptionTypesEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductCustomOptionValueInfoEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductCustomOptionValueListEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductDownloadableLinkInfoEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductImageEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductLinkAttributeEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductLinkEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductListResponse.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductReturnEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductSpecialPriceReturnEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductTagInfoEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductTagListEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductTierPriceEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.catalogProductTypeEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.customerAddressEntityItem.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.customerCustomerEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.customerGroupEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.directoryCountryEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.directoryRegionEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.existsFaltureEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.giftMessageResponse.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.magentoInfoEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.salesOrderCreditmemoEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.salesOrderEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.salesOrderInvoiceEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.salesOrderListEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.salesOrderShipmentAddCommentResponse.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.salesOrderShipmentEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.shoppingCartInfoEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.shoppingCartLicenseEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.shoppingCartPaymentMethodResponseEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.shoppingCartShippingMethodEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.shoppingCartTotalsEntity.datasource
│ │ │ │ │ ├── FastSQL.Magento1.Magento1Soap.storeEntity.datasource
│ │ │ │ │ ├── Magento.wsdl
│ │ │ │ │ ├── Reference.cs
│ │ │ │ │ ├── Reference.svcmap
│ │ │ │ │ ├── configuration.svcinfo
│ │ │ │ │ ├── configuration91.svcinfo
│ │ │ │ │ └── item.xsd
│ │ │ │ ├── FastAdapter.cs
│ │ │ │ ├── FastProvider.cs
│ │ │ │ ├── FastSQL.Magento1.csproj
│ │ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── ProviderOptionManager.cs
│ │ │ │ ├── SoapM1.cs
│ │ │ │ ├── WindsorInstaller.cs
│ │ │ │ └── app.config
│ │ ├── Magento2
│ │ │ ├── FastSQL.Magento2.Integration
│ │ │ │ ├── FastSQL.Magento2.Integration.csproj
│ │ │ │ ├── Indexers
│ │ │ │ │ ├── CustomerIndexer.cs
│ │ │ │ │ ├── CustomerIndexerOptionManager.cs
│ │ │ │ │ ├── OrderIndexer.cs
│ │ │ │ │ ├── OrderIndexerOptionManager.cs
│ │ │ │ │ ├── OrderItemIndexer.cs
│ │ │ │ │ └── OrderItemIndexerOptionManager.cs
│ │ │ │ ├── Mappers
│ │ │ │ │ ├── AttributeSetMapper.cs
│ │ │ │ │ ├── AttributeSetMapperOptionManager.cs
│ │ │ │ │ ├── ParentCategoryMapper.cs
│ │ │ │ │ ├── ParentCategoryMapperOptionManager.cs
│ │ │ │ │ ├── ProductMapper.cs
│ │ │ │ │ ├── ProductMapperOptionManager.cs
│ │ │ │ │ ├── SubCategoryMapper.cs
│ │ │ │ │ └── SubCategoryMapperOptionManager.cs
│ │ │ │ ├── Pullers
│ │ │ │ │ ├── CustomerPuller.cs
│ │ │ │ │ ├── CustomerPullerOptionManager.cs
│ │ │ │ │ ├── OrderItemPuller.cs
│ │ │ │ │ ├── OrderItemPullerOptionManager.cs
│ │ │ │ │ ├── OrderPuller.cs
│ │ │ │ │ └── OrderPullerOptionManager.cs
│ │ │ │ └── Pushers
│ │ │ │ │ ├── AttributeSetPusher.cs
│ │ │ │ │ ├── AttributeSetPusherOptionManager.cs
│ │ │ │ │ ├── ParentCategoryPusher.cs
│ │ │ │ │ ├── ParentCategoryPusherOptionManager.cs
│ │ │ │ │ ├── ProductAttributeOptionPusher.cs
│ │ │ │ │ ├── ProductAttributeOptionPusherOptionManager.cs
│ │ │ │ │ ├── ProductPusher.cs
│ │ │ │ │ ├── ProductPusherOptionManager.cs
│ │ │ │ │ ├── Products
│ │ │ │ │ ├── ProductImagePusher.cs
│ │ │ │ │ ├── ProductImagePusherOptionManager.cs
│ │ │ │ │ ├── ProductMultipleAttributePusher.cs
│ │ │ │ │ ├── ProductMultipleAttributePusherOptionManager.cs
│ │ │ │ │ ├── ProductParentCategoryPusher.cs
│ │ │ │ │ ├── ProductParentCategoryPusherOptionManager.cs
│ │ │ │ │ ├── ProductPromotionPusher.cs
│ │ │ │ │ ├── ProductPromotionPusherOptionManager.cs
│ │ │ │ │ ├── ProductSingleAttributePusher.cs
│ │ │ │ │ ├── ProductSingleAttributePusherOptionManager.cs
│ │ │ │ │ ├── ProductStockPusher.cs
│ │ │ │ │ ├── ProductStockPusherOptionManager.cs
│ │ │ │ │ ├── ProductSubCategoryPusher.cs
│ │ │ │ │ ├── ProductSubCategoryPusherOptionManager.cs
│ │ │ │ │ ├── ProductTierPricePusher.cs
│ │ │ │ │ └── ProductTierPricePusherOptionManager.cs
│ │ │ │ │ ├── SubCategoryPusher.cs
│ │ │ │ │ └── SubCategoryPusherOptionManager.cs
│ │ │ └── FastSQL.Magento2
│ │ │ │ ├── FastAdapter.cs
│ │ │ │ ├── FastProvider.cs
│ │ │ │ ├── FastSQL.Magento2.csproj
│ │ │ │ ├── Magento2JsonSerializer.cs
│ │ │ │ ├── Magento2RestApi.cs
│ │ │ │ ├── ProviderOptionManager.cs
│ │ │ │ └── WindsorInstaller.cs
│ │ ├── MsAccess
│ │ │ ├── FastSQL.MsAccess.Integration
│ │ │ │ ├── AttributeIndexer.cs
│ │ │ │ ├── AttributePuller.cs
│ │ │ │ ├── AttributePullerOptionManager.cs
│ │ │ │ ├── EntityIndexer.cs
│ │ │ │ ├── EntityPuller.cs
│ │ │ │ ├── EntityPullerOptionManager.cs
│ │ │ │ └── FastSQL.MsAccess.Integration.csproj
│ │ │ └── FastSQL.MsAccess
│ │ │ │ ├── ConnectionStringBuilder.cs
│ │ │ │ ├── FastAdapter.cs
│ │ │ │ ├── FastProvider.cs
│ │ │ │ ├── FastSQL.MsAccess.csproj
│ │ │ │ └── ProviderOptionManager.cs
│ │ ├── MsSql
│ │ │ ├── FastSQL.MsSql.Integration
│ │ │ │ ├── AttributeIndexer.cs
│ │ │ │ ├── AttributePuller.cs
│ │ │ │ ├── AttributePullerOptionManager.cs
│ │ │ │ ├── EntityIndexer.cs
│ │ │ │ ├── EntityPuller.cs
│ │ │ │ ├── EntityPullerOptionManager.cs
│ │ │ │ ├── EntityPusher.cs
│ │ │ │ ├── EntityPusherOptionManager.cs
│ │ │ │ └── FastSQL.MsSql.Integration.csproj
│ │ │ └── FastSQL.MsSql
│ │ │ │ ├── ConnectionStringBuilder.cs
│ │ │ │ ├── FastAdapter.cs
│ │ │ │ ├── FastProvider.cs
│ │ │ │ ├── FastSQL.MsSql.csproj
│ │ │ │ └── ProviderOptionManager.cs
│ │ └── MySQL
│ │ │ ├── FastSQL.MySQL.Integration
│ │ │ ├── AttributeIndexer.cs
│ │ │ ├── AttributePuller.cs
│ │ │ ├── AttributePullerOptionManager.cs
│ │ │ ├── EntityIndexer.cs
│ │ │ ├── EntityPuller.cs
│ │ │ ├── EntityPullerOptionManager.cs
│ │ │ ├── EntityPusher.cs
│ │ │ ├── EntityPusherOptionManager.cs
│ │ │ └── FastSQL.MySQL.Integration.csproj
│ │ │ └── FastSQL.MySQL
│ │ │ ├── ConnectionStringBuilder.cs
│ │ │ ├── FastAdapter.cs
│ │ │ ├── FastProvider.cs
│ │ │ ├── FastSQL.MySQL.csproj
│ │ │ └── ProviderOptionManager.cs
│ └── api.sln
├── index.ejs
├── main
│ ├── config.json
│ ├── index.dev.js
│ └── index.js
└── renderer
│ ├── App.vue
│ ├── assets
│ ├── .gitkeep
│ ├── logo.png
│ └── styles
│ │ ├── _btn.scss
│ │ ├── _dropdown.scss
│ │ ├── _fileUpload.scss
│ │ ├── _layout.scss
│ │ ├── _modal.scss
│ │ ├── _nav.scss
│ │ ├── _padding.scss
│ │ ├── _spinner.scss
│ │ ├── _textarea.scss
│ │ └── main.scss
│ ├── components
│ ├── Attributes
│ │ ├── EditAttribute.vue
│ │ ├── Index.vue
│ │ └── ManageAttribute.Vue
│ ├── Connections
│ │ ├── Index.vue
│ │ └── NewConnection.vue
│ ├── Controls
│ │ ├── Dropdown.vue
│ │ ├── DynamicOption.vue
│ │ ├── Modal.vue
│ │ ├── PreviewDataModal.vue
│ │ └── TopNav.vue
│ ├── Entities
│ │ ├── EditEntity.vue
│ │ ├── Index.vue
│ │ └── ManageEntity.vue
│ ├── Index.vue
│ ├── Settings
│ │ └── SettingsModal.vue
│ └── _Layout.vue
│ ├── main.js
│ ├── router
│ └── index.js
│ └── store
│ ├── index.js
│ └── modules
│ ├── Connection.js
│ ├── Modal.js
│ ├── Settings.js
│ └── index.js
├── static
└── .gitkeep
├── test
├── .eslintrc
├── e2e
│ ├── index.js
│ ├── specs
│ │ └── Launch.spec.js
│ └── utils.js
└── unit
│ ├── index.js
│ ├── karma.conf.js
│ └── specs
│ └── LandingPage.spec.js
├── yarn-error.log
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "comments": false,
3 | "env": {
4 | "test": {
5 | "presets": [
6 | ["env", {
7 | "targets": { "node": 7 }
8 | }],
9 | "stage-0"
10 | ],
11 | "plugins": ["istanbul"]
12 | },
13 | "main": {
14 | "presets": [
15 | ["env", {
16 | "targets": { "node": 7 }
17 | }],
18 | "stage-0"
19 | ]
20 | },
21 | "renderer": {
22 | "presets": [
23 | ["env", {
24 | "modules": false
25 | }],
26 | "stage-0"
27 | ]
28 | },
29 | "web": {
30 | "presets": [
31 | ["env", {
32 | "modules": false
33 | }],
34 | "stage-0"
35 | ]
36 | }
37 | },
38 | "plugins": ["transform-runtime"]
39 | }
40 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | test/unit/coverage/**
2 | test/unit/*.js
3 | test/e2e/*.js
4 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | parser: 'babel-eslint',
4 | parserOptions: {
5 | sourceType: 'module'
6 | },
7 | env: {
8 | browser: true,
9 | node: true
10 | },
11 | extends: 'standard',
12 | globals: {
13 | __static: true
14 | },
15 | plugins: [
16 | 'html'
17 | ],
18 | 'rules': {
19 | // allow paren-less arrow functions
20 | 'arrow-parens': 0,
21 | // allow async-await
22 | 'generator-star-spacing': 0,
23 | // allow debugger during development
24 | 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
25 | "semi": [0, "always"],
26 | "space-before-function-paren": [0, "always"],
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | dist/electron/*
3 | dist/web/*
4 | build/*
5 | !build/icons
6 | coverage
7 | node_modules/
8 | npm-debug.log
9 | npm-debug.log.*
10 | thumbs.db
11 | !.gitkeep
12 | bin/
13 | obj/
14 | .vs/
15 | appsettings.Development.json
16 | yarn-error.log
17 | src/api/published
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/src/api/api.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/appveyor.yml:
--------------------------------------------------------------------------------
1 | # Commented sections below can be used to run tests on the CI server
2 | # https://simulatedgreg.gitbooks.io/electron-vue/content/en/testing.html#on-the-subject-of-ci-testing
3 | version: 0.1.{build}
4 |
5 | branches:
6 | only:
7 | - master
8 |
9 | image: Visual Studio 2017
10 | platform:
11 | - x64
12 |
13 | cache:
14 | - node_modules
15 | - '%APPDATA%\npm-cache'
16 | - '%USERPROFILE%\.electron'
17 | - '%USERPROFILE%\AppData\Local\Yarn\cache'
18 |
19 | init:
20 | - git config --global core.autocrlf input
21 |
22 | install:
23 | - ps: Install-Product node 8 x64
24 | - choco install yarn --ignore-dependencies
25 | - git reset --hard HEAD
26 | - yarn
27 | - node --version
28 |
29 | build_script:
30 | #- yarn test
31 | - yarn build
32 |
33 | test: off
34 |
--------------------------------------------------------------------------------
/build/icons/256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/j4zzlee/fastSQL/20694e116c8a02ca3e4938b09bd660414aba613f/build/icons/256x256.png
--------------------------------------------------------------------------------
/build/icons/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/j4zzlee/fastSQL/20694e116c8a02ca3e4938b09bd660414aba613f/build/icons/icon.icns
--------------------------------------------------------------------------------
/build/icons/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/j4zzlee/fastSQL/20694e116c8a02ca3e4938b09bd660414aba613f/build/icons/icon.ico
--------------------------------------------------------------------------------
/dist/electron/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/j4zzlee/fastSQL/20694e116c8a02ca3e4938b09bd660414aba613f/dist/electron/.gitkeep
--------------------------------------------------------------------------------
/dist/web/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/j4zzlee/fastSQL/20694e116c8a02ca3e4938b09bd660414aba613f/dist/web/.gitkeep
--------------------------------------------------------------------------------
/src/api/3rd/Castle.Windsor.InstallerPriority/Castle.Windsor.InstallerPriority.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/api/3rd/Castle.Windsor.ServiceCollection/Castle.Windsor.ServiceCollection.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/api/3rd/WorkflowCore.Extensions.WorkflowController/WorkflowCore.Extensions.WorkflowController.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/Controllers/ProcessorsController.cs:
--------------------------------------------------------------------------------
1 | using FastSQL.Sync.Core;
2 | using FastSQL.Sync.Core.Enums;
3 | using Microsoft.AspNetCore.Mvc;
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Threading.Tasks;
8 |
9 | namespace FastSQL.API.Controllers
10 | {
11 | [Route("api/[controller]")]
12 | public class ProcessorsController: Controller
13 | {
14 | private readonly IEnumerable processors;
15 |
16 | public ProcessorsController(IEnumerable processors)
17 | {
18 | this.processors = processors;
19 | }
20 |
21 | [HttpGet]
22 | public IActionResult Get([FromQuery] ProcessorType type = ProcessorType.Entity)
23 | {
24 | return Ok(processors.Where(p => p.Type == type));
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/Controllers/PushersController.cs:
--------------------------------------------------------------------------------
1 | using FastSQL.Sync.Core;
2 | using FastSQL.Sync.Core.Indexer;
3 | using FastSQL.Sync.Core.Pusher;
4 | using Microsoft.AspNetCore.Mvc;
5 | using System;
6 | using System.Collections.Generic;
7 | using System.Linq;
8 | using System.Threading.Tasks;
9 |
10 | namespace FastSQL.API.Controllers
11 | {
12 | [Route("api/[controller]")]
13 | public class PushersController
14 | {
15 | private readonly IEnumerable _pushers;
16 | private readonly IEnumerable _indexers;
17 |
18 | public PushersController(IEnumerable pushers, IEnumerable indexers)
19 | {
20 | _pushers = pushers;
21 | _indexers = indexers;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/Migrations/1.0.0/1524110565-AddStateColumnForEntityAndAttribute.sql:
--------------------------------------------------------------------------------
1 |
2 | -- Name: AddStateColumnForEntityAndAttribute
3 | -- Date: 4/19/2018 11:02:45 AM
4 | -- Author: BaoChau
5 | ----------------------------
6 | -- Migration up goes here.
7 | ----------------------------
8 | ALTER TABLE core_entities ADD State INTEGER;
9 | ALTER TABLE core_attributes ADD State INTEGER;
10 | --Down--
11 | ----------------------------
12 | -- Migration down goes here.
13 | ----------------------------
14 | ALTER TABLE core_entities DROP COLUMN State;
15 | ALTER TABLE core_attributes DROP COLUMN State;
--------------------------------------------------------------------------------
/src/api/FastSQL.API/Migrations/1.0.0/1524161797-AddUniqueConstraints.sql:
--------------------------------------------------------------------------------
1 |
2 | -- Name: AddUniqueConstraints
3 | -- Date: 4/20/2018 1:16:37 AM
4 | -- Author: BaoChau
5 | ----------------------------
6 | -- Migration up goes here.
7 | ----------------------------
8 | ALTER TABLE core_connections ADD CONSTRAINT UC_connections_name UNIQUE ([Name]);
9 | ALTER TABLE core_entities ADD CONSTRAINT UC_entities_name UNIQUE ([Name]);
10 | ALTER TABLE core_attributes ADD CONSTRAINT UC_attributes_name UNIQUE ([Name]);
11 | --Down--
12 | ----------------------------
13 | -- Migration down goes here.
14 | ----------------------------
15 | ALTER TABLE core_connections DROP CONSTRAINT UC_connections_name;
16 | ALTER TABLE core_entities DROP CONSTRAINT UC_entities_name;
17 | ALTER TABLE core_attributes DROP CONSTRAINT UC_attributes_name;
--------------------------------------------------------------------------------
/src/api/FastSQL.API/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.IO;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 | using Microsoft.AspNetCore;
8 | using Microsoft.AspNetCore.Hosting;
9 | using Microsoft.Extensions.Configuration;
10 | using Microsoft.Extensions.Logging;
11 |
12 | namespace FastSQL.API
13 | {
14 | public class Program
15 | {
16 | public static void Main(string[] args)
17 | {
18 | var host = WebHost.CreateDefaultBuilder(args)
19 | .UseKestrel()
20 | .UseSetting("detailedErrors", "true")
21 | .UseStartup()
22 | .UseApplicationInsights()
23 | .UseIISIntegration()
24 | .CaptureStartupErrors(true)
25 | .Build();
26 | host.Run();
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "iisSettings": {
3 | "windowsAuthentication": false,
4 | "anonymousAuthentication": true,
5 | "iisExpress": {
6 | "applicationUrl": "http://localhost:63922/",
7 | "sslPort": 0
8 | }
9 | },
10 | "profiles": {
11 | "IIS Express": {
12 | "commandName": "IISExpress",
13 | "commandLineArgs": "--console",
14 | "launchBrowser": true,
15 | "launchUrl": "api/values",
16 | "environmentVariables": {
17 | "ASPNETCORE_ENVIRONMENT": "Development"
18 | }
19 | },
20 | "FastSQL.API": {
21 | "commandName": "Project",
22 | "launchBrowser": true,
23 | "launchUrl": "api/values",
24 | "environmentVariables": {
25 | "ASPNETCORE_ENVIRONMENT": "Development"
26 | },
27 | "applicationUrl": "http://localhost:63923/"
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/src/api/FastSQL.API/ViewModels/CreateAttributeViewModel.cs:
--------------------------------------------------------------------------------
1 | using FastSQL.Core;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace FastSQL.API.ViewModels
8 | {
9 | public class CreateAttributeViewModel
10 | {
11 | public string Name { get; set; }
12 | public string Description { get; set; }
13 | public string SourceProcessorId { get; set; }
14 | public string DestinationProcessorId { get; set; }
15 | public bool Enabled { get; set; }
16 | public Guid EntityId { get; set; }
17 | public Guid SourceConnectionId { get; set; }
18 | public Guid DestinationConnectionId { get; set; }
19 | public IEnumerable Options { get; set; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/ViewModels/CreateConnectionStringModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel.DataAnnotations;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace FastSQL.API.ViewModels
8 | {
9 | public class CreateConnectionStringModel
10 | {
11 | [Required]
12 | public string ConnectionString { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/ViewModels/CreateConnectionViewModel.cs:
--------------------------------------------------------------------------------
1 | using FastSQL.Core;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.ComponentModel.DataAnnotations;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 |
8 | namespace FastSQL.API.ViewModels
9 | {
10 | public class CreateConnectionViewModel
11 | {
12 | [Required]
13 | [MaxLength(255)]
14 | public string Name { get; set; }
15 |
16 | [MaxLength(int.MaxValue)]
17 | public string Description { get; set; }
18 |
19 | [Required]
20 | [MaxLength(255)]
21 | public string ProviderId { get; set; }
22 |
23 | [Required]
24 | public IEnumerable Options { get; set; }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/ViewModels/CreateEntityViewModel.cs:
--------------------------------------------------------------------------------
1 | using FastSQL.Core;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 |
7 | namespace FastSQL.API.ViewModels
8 | {
9 | public class CreateEntityViewModel
10 | {
11 | public string Name { get; set; }
12 | public string Description { get; set; }
13 | public string SourceProcessorId { get; set; }
14 | public string DestinationProcessorId { get; set; }
15 | public bool Enabled { get; set; }
16 | public Guid SourceConnectionId { get; set; }
17 | public Guid DestinationConnectionId { get; set; }
18 | public IEnumerable Options { get; set; }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/ViewModels/QueryViewModel.cs:
--------------------------------------------------------------------------------
1 | using FastSQL.Core;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Text;
5 |
6 | namespace FastSQL.API.ViewModels
7 | {
8 | public class QueryViewModel
9 | {
10 | public string RawQuery { get; set; }
11 | public List Options { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/ViewModels/TemplateOptionRequestViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace FastSQL.API.ViewModels
7 | {
8 | public class EntityTemplateOptionRequestViewModel
9 | {
10 | public string SourceProcessorId { get; set; }
11 | public string DestinationProcessorId { get; set; }
12 | public string SourceConnectionId { get; set; }
13 | public string DestinationConnectionId { get; set; }
14 | }
15 |
16 | public class AttributeTemplateOptionRequestViewModel
17 | {
18 | public string EntityId { get; set; }
19 | public string SourceProcessorId { get; set; }
20 | public string DestinationProcessorId { get; set; }
21 | public string SourceConnectionId { get; set; }
22 | public string DestinationConnectionId { get; set; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/ViewModels/UpdateConnectionViewModel.cs:
--------------------------------------------------------------------------------
1 | using FastSQL.Core;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.ComponentModel.DataAnnotations;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 |
8 | namespace FastSQL.API.ViewModels
9 | {
10 | public class UpdateConnectionViewModel
11 | {
12 | [MaxLength(255)]
13 | public string Name { get; set; }
14 |
15 | [MaxLength(int.MaxValue)]
16 | public string Description { get; set; }
17 |
18 | [MaxLength(255)]
19 | public string ProviderId { get; set; }
20 |
21 | public IEnumerable Options { get; set; }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/api/FastSQL.API/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | },
4 | "Logging": {
5 | "IncludeScopes": false,
6 | "Debug": {
7 | "LogLevel": {
8 | "Default": "Warning"
9 | }
10 | },
11 | "Console": {
12 | "LogLevel": {
13 | "Default": "Warning"
14 | }
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/api/FastSQL.App/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/api/FastSQL.App/Events/DataGridEventArgument.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json.Linq;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace FastSQL.App.Events
9 | {
10 | public class DataGridCommandEventArgument
11 | {
12 | public string CommandName { get; set; }
13 | public IEnumerable