import express, { Router } from 'express';
import { Routes } from '../../core/interfaces/router';
import { autowired } from 'first-di';
// import { AssemblyController } from './assembly_create_controller';
import path from 'path';
import { dirname } from '../../app';
import validationMiddleware from '../../core/middlewares/ValidationMiddleware';
import { AssemblyPreviewsController } from './assembly_previews_controller';
// import { CadFilesModel } from './model/zip_files_model';

export class AssemblyPreviewsRoute implements Routes {
    public path = '/assembly/preview/';
    public router = Router();
    @autowired()
    private readonly assemblyPreviewsController: AssemblyPreviewsController;
    constructor() {
        this.initializeRoutes();
    }

    private initializeRoutes() {
        this.router.get(`${this.path}`, this.assemblyPreviewsController.getAllAssembly);
        // this.router.get(`${this.path}`)
        this.router.get(`${this.path}subsequence/:id`, this.assemblyPreviewsController.getAssemblySubsequenceById)
        this.router.get(`${this.path}insertion_sequence/:id`, this.assemblyPreviewsController.getAssemblyInsertionSequenceById)
        // this.router.post(`${this.path}`, validationMiddleware(CadFilesModel, 'files'), this.assemblyController.createAssembly)

        // this.router.get(`${this.path}`, this.assemblyController.getAllAssembly)
    }   
}