- Implemented file upload functionality for datasets using multipart requests. - Added file size and type validation using VineJS. - Added file name length validation. - Added file scan to remove infected files. - Implemented aggregated upload limit to prevent exceeding the server's capacity. - Added error handling for file upload failures, including temporary file cleanup. - Updated the `DatasetController` to handle file uploads, validation, and database transactions. - Updated the `bodyparser.ts` config to process the file upload manually. - Updated the `api.ts` routes to fetch the statistic data. - Updated the `main.ts` store to fetch the statistic data. - Updated the `Dashboard.vue` to display the submitters only for administrator role. - Updated the `CardBoxWidget.vue` to display the submitters. - Updated the `ServerError.vue` to use the LayoutGuest.vue. - Updated the `AuthController.ts` and `start/routes.ts` to handle the database connection errors. - Updated the `app/exceptions/handler.ts` to handle the database connection errors. - Updated the `package.json` to use the correct version of the `@adonisjs/bodyparser`.
57 lines
No EOL
1.3 KiB
TypeScript
57 lines
No EOL
1.3 KiB
TypeScript
/**
|
|
* Qs module config
|
|
*/
|
|
type QueryStringConfig = {
|
|
depth?: number
|
|
allowPrototypes?: boolean
|
|
plainObjects?: boolean
|
|
parameterLimit?: number
|
|
arrayLimit?: number
|
|
ignoreQueryPrefix?: boolean
|
|
delimiter?: RegExp | string
|
|
allowDots?: boolean
|
|
charset?: 'utf-8' | 'iso-8859-1' | undefined
|
|
charsetSentinel?: boolean
|
|
interpretNumericEntities?: boolean
|
|
parseArrays?: boolean
|
|
comma?: boolean
|
|
}
|
|
/**
|
|
* Base config used by all types
|
|
*/
|
|
type BodyParserBaseConfig = {
|
|
encoding: string
|
|
limit: string | number
|
|
types: string[]
|
|
}
|
|
|
|
/**
|
|
* Body parser config for parsing JSON requests
|
|
*/
|
|
export type BodyParserJSONConfig = BodyParserBaseConfig & {
|
|
strict: boolean
|
|
convertEmptyStringsToNull: boolean
|
|
}
|
|
|
|
/**
|
|
* Parser config for parsing form data
|
|
*/
|
|
export type BodyParserFormConfig = BodyParserBaseConfig & {
|
|
queryString: QueryStringConfig
|
|
convertEmptyStringsToNull: boolean
|
|
}
|
|
|
|
/**
|
|
* Parser config for parsing raw body (untouched)
|
|
*/
|
|
export type BodyParserRawConfig = BodyParserBaseConfig
|
|
/**
|
|
* Body parser config for all supported form types
|
|
*/
|
|
export type BodyParserConfig = {
|
|
allowedMethods: string[]
|
|
json: BodyParserJSONConfig
|
|
form: BodyParserFormConfig
|
|
raw: BodyParserRawConfig
|
|
multipart: BodyParserMultipartConfig
|
|
} |