import { appModuleProvider } from '@baseplate-dev/fastify-generators';
import { createGeneratorTask, createProviderType } from '@baseplate-dev/sync';
const fastifyStorageModulePaths = createProviderType('fastify-storage-module-paths');
const fastifyStorageModulePathsTask = createGeneratorTask({
    dependencies: { appModule: appModuleProvider },
    exports: { fastifyStorageModulePaths: fastifyStorageModulePaths.export() },
    run({ appModule }) {
        const moduleRoot = appModule.getModuleFolder();
        return {
            providers: {
                fastifyStorageModulePaths: {
                    adaptersS_3: `${moduleRoot}/adapters/s3.ts`,
                    adaptersUrl: `${moduleRoot}/adapters/url.ts`,
                    configAdapters: `${moduleRoot}/config/adapters.config.ts`,
                    configCategories: `${moduleRoot}/config/categories.config.ts`,
                    queuesCleanUnusedFiles: `${moduleRoot}/queues/clean-unused-files.ts`,
                    schemaFileCategory: `${moduleRoot}/schema/file-category.enum.ts`,
                    schemaFileInput: `${moduleRoot}/schema/file-input.input-type.ts`,
                    schemaPresignedMutations: `${moduleRoot}/schema/presigned.mutations.ts`,
                    schemaPublicUrl: `${moduleRoot}/schema/public-url.field.ts`,
                    servicesCleanUnusedFiles: `${moduleRoot}/services/clean-unused-files.ts`,
                    servicesCreatePresignedDownloadUrl: `${moduleRoot}/services/create-presigned-download-url.ts`,
                    servicesCreatePresignedUploadUrl: `${moduleRoot}/services/create-presigned-upload-url.ts`,
                    servicesDownloadFile: `${moduleRoot}/services/download-file.ts`,
                    servicesFileField: `${moduleRoot}/services/file-field.ts`,
                    servicesGetPublicUrl: `${moduleRoot}/services/get-public-url.ts`,
                    servicesUploadFile: `${moduleRoot}/services/upload-file.ts`,
                    typesAdapter: `${moduleRoot}/types/adapter.ts`,
                    typesFileCategory: `${moduleRoot}/types/file-category.ts`,
                    utilsCreateFileCategory: `${moduleRoot}/utils/create-file-category.ts`,
                    utilsGetAdapter: `${moduleRoot}/utils/get-adapter.ts`,
                    utilsMime: `${moduleRoot}/utils/mime.ts`,
                    utilsValidateFileUploadOptions: `${moduleRoot}/utils/validate-file-upload-options.ts`,
                    utilsValidatePendingUpload: `${moduleRoot}/utils/validate-pending-upload.ts`,
                },
            },
        };
    },
});
export const FASTIFY_STORAGE_MODULE_PATHS = {
    provider: fastifyStorageModulePaths,
    task: fastifyStorageModulePathsTask,
};
//# sourceMappingURL=template-paths.js.map