diff --git a/.gitignore b/.gitignore index 70854a8..2e709be 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ data/** data/ package-lock.json devdb.sqlite3 +db.sqlite3 build/** app/** settings.json diff --git a/src/route/contents.ts b/src/route/contents.ts index 335a8f3..8e00a03 100644 --- a/src/route/contents.ts +++ b/src/route/contents.ts @@ -29,16 +29,31 @@ const ContentTagIDHandler = (controller: DocumentAccessor) => async (ctx: Contex ctx.type = 'json'; }; const ContentQueryHandler = (controller : DocumentAccessor) => async (ctx: Context,next: Next)=>{ - const limit = ParseQueryNumber(ctx.query['limit']); - const cursor = ParseQueryNumber(ctx.query['cursor']); - const word = ParseQueryArgString(ctx.query['word']); - const content_type = ParseQueryArgString(ctx.query['content_type']); - const offset = ParseQueryNumber(ctx.query['offset']); + + let query_limit = (ctx.query['limit']); + let query_cursor = (ctx.query['cursor']); + let query_word = (ctx.query['word']); + let query_content_type = (ctx.query['content_type']); + let query_offset = (ctx.query['offset']); + let query_use_offset = ctx.query['use_offset']; + if(query_limit instanceof Array + || query_cursor instanceof Array + || query_word instanceof Array + || query_content_type instanceof Array + || query_offset instanceof Array + || query_use_offset instanceof Array){ + return sendError(400,"paramter can not be array"); + } + const limit = ParseQueryNumber(query_limit); + const cursor = ParseQueryNumber(query_cursor); + const word = ParseQueryArgString(query_word); + const content_type = ParseQueryArgString(query_content_type); + const offset = ParseQueryNumber(query_offset); if(limit === NaN || cursor === NaN || offset === NaN){ return sendError(400,"parameter limit, cursor or offset is not a number"); } const allow_tag = ParseQueryArray(ctx.query['allow_tag']); - const [ok,use_offset] = ParseQueryBoolean(ctx.query['use_offset']); + const [ok,use_offset] = ParseQueryBoolean(query_use_offset); if(!ok){ return sendError(400,"use_offset must be true or false."); }