예제 #1
0
     private static async Task HandleImport(IServiceProvider services, ImportCmd opts)
     {
         S3FileImporter importer = opts.Type switch
         {
             "hourly" => new HourlyLogsImporter(services, opts.SourceId),
             "gamelogs" => new GameLogsImporter(services, opts.SourceId),
             "idols" => new IdolLogsImporter(services, opts.SourceId),
             "mongotributes" => new MongodbTributesImporter(services, opts.SourceId),
             _ => throw new ArgumentException($"Unknown import type {opts.Type}")
         };
         await importer.Run(new S3ImportOptions
         {
             Directory = opts.Directory
         });
     }
 }
예제 #2
0
        private static async Task HandleImport(IServiceProvider services, ImportCmd opts)
        {
            FileImporter importer = opts.Type switch
            {
                "hourly" => new HourlyLogsImporter(services, opts.SourceId ?? throw new ArgumentException("Source ID is required")),
                "gamelogs" => new GameLogsImporter(services, opts.SourceId ?? throw new ArgumentException("Source ID is required")),
                "idols" => new IdolLogsImporter(services, opts.SourceId ?? throw new ArgumentException("Source ID is required")),
                "mongotributes" => new MongodbTributesImporter(services, opts.SourceId ?? throw new ArgumentException("Source ID is required")),
                "raw" => new RawImporter(services),
                "v2" => new IlianaV2Importer(services, opts.SourceId ?? throw new ArgumentException("Source ID is required")),
                _ => throw new ArgumentException($"Unknown import type {opts.Type}")
            };

            await importer.Run(new ImportOptions
            {
                Directory = opts.Directory,
                After     = opts.After,
                Before    = opts.Before
            });
        }
    }