@tsdiapi/s3
Version:
A TSDIAPI plugin for seamless AWS S3 integration, enabling file uploads, downloads, and presigned URL generation.
112 lines • 3.77 kB
JSON
{
"name": "@tsdiapi/s3",
"description": "A TSDIAPI plugin for seamless AWS S3 integration, enabling file uploads, downloads, and presigned URL generation.",
"variables": [
{
"name": "AWS_PUBLIC_BUCKET_NAME",
"type": "string",
"default": "",
"configurable": true,
"description": "The name of the AWS public bucket",
"inquirer": {
"message": "Enter the name of the AWS public bucket:",
"required": true
}
},
{
"name": "AWS_PRIVATE_BUCKET_NAME",
"type": "string",
"default": "",
"configurable": true,
"description": "The name of the AWS private bucket",
"inquirer": {
"message": "Enter the name of the AWS private bucket:",
"required": true
}
},
{
"name": "AWS_ACCESS_KEY_ID",
"type": "string",
"default": "",
"configurable": true,
"description": "The AWS Access Key ID",
"inquirer": {
"message": "Enter the AWS Access Key ID:",
"required": true
}
},
{
"name": "AWS_SECRET_ACCESS_KEY",
"type": "string",
"default": "",
"configurable": true,
"description": "The AWS Secret Access Key",
"inquirer": {
"message": "Enter the AWS Secret Access Key:",
"required": true,
"mask": "*"
}
},
{
"name": "AWS_REGION",
"type": "string",
"default": "us-east-1",
"configurable": true,
"description": "The AWS region",
"inquirer": {
"message": "Enter the AWS region:"
}
},
{
"name": "AWS_CUSTOM_HOST",
"type": "string",
"configurable": true,
"description": "The AWS custom host",
"inquirer": {
"message": "Custom host (optional):"
}
},
{
"name": "AWS_FOLDER_PREFIX",
"type": "string",
"configurable": true,
"description": "Optional folder prefix for file uploads (e.g., 'my-dir' will create 'my-dir/2024-08-30/...')",
"inquirer": {
"message": "Folder prefix (optional):"
}
}
],
"generators": [
{
"name": "controller",
"description": "Generate a new controller in the API",
"files": [
{
"source": "generators/controller/*.*",
"destination": "src/api/{{name}}",
"isRoot": true,
"overwrite": false,
"isHandlebarsTemplate": true
}
],
"postMessages": [
"✅ Controller {{name}} created successfully!"
]
}
],
"prisma": {
"required": true,
"scripts": [
{
"command": "ADD MODEL File ({id String @id @default(cuid())|name String?|ownerId String?|isPrivate Boolean @default(false)|extension String?|mimeType String?|size Float?|url String|key String|bucket String?|region String?});",
"description": "Add File Model"
}
]
},
"postMessages": [
"✅ Plugin S3 has been successfully installed!"
],
"requiredPackages": [
"@tsdiapi/jwt-auth"
]
}