diff --git a/src/gitly.v b/src/gitly.v index 4adab95..14e2f48 100644 --- a/src/gitly.v +++ b/src/gitly.v @@ -244,7 +244,7 @@ fn (mut ctx Context) json_error(message string) veb.Result { } // maybe it should be implemented with another static server, in dev -fn (mut app App) send_file(filname string, content string) veb.Result { +fn (mut app App) send_file(mut ctx Context, filname string, content string) veb.Result { ctx.set_header(.content_disposition, 'attachment; filename="${filname}"') return ctx.ok(content) diff --git a/src/issue_routes.v b/src/issue_routes.v index 823fd41..9b9f4bf 100644 --- a/src/issue_routes.v +++ b/src/issue_routes.v @@ -39,7 +39,7 @@ pub fn (mut app App) new_issue(username string, repo_name string) veb.Result { } @['/:username/issues'] -pub fn (mut app App) handle_get_user_issues(username string) veb.Result { +pub fn (mut app App) handle_get_user_issues(mut ctx Context, username string) veb.Result { return app.user_issues(username, 0) } diff --git a/src/repo_routes.v b/src/repo_routes.v index ca77275..8f3e403 100644 --- a/src/repo_routes.v +++ b/src/repo_routes.v @@ -9,7 +9,7 @@ import validation import git @['/:username/repos'] -pub fn (mut app App) user_repos(username string) veb.Result { +pub fn (mut app App) user_repos(username string, mut ctx Context) veb.Result { exists, user := app.check_username(username) if !exists { @@ -39,7 +39,7 @@ pub fn (mut app App) user_stars(username string) veb.Result { } @['/:username/:repo_name/settings'] -pub fn (mut app App) repo_settings(username string, repo_name string) veb.Result { +pub fn (mut app App) repo_settings(username string, repo_name string, mut ctx Context) veb.Result { repo := app.find_repo_by_name_and_username(repo_name, username) or { return ctx.redirect_to_repository(username, repo_name) } @@ -142,10 +142,10 @@ pub fn (mut app App) handle_tree(username string, repo_name string) veb.Result { return app.user_repos(username, mut ctx) } 'issues' { - return app.handle_get_user_issues(username, mut ctx) + return app.handle_get_user_issues(mut ctx, username) } 'settings' { - return app.user_settings(username) + return app.user_settings(mut ctx, username) } else {} } diff --git a/src/tag_routes.v b/src/tag_routes.v index 7a2416d..0cd1f14 100644 --- a/src/tag_routes.v +++ b/src/tag_routes.v @@ -4,7 +4,7 @@ import veb import os @['/:username/:repo_name/tag/:tag/:format'] -pub fn (mut app App) handle_download_tag_archive(username string, repo_name string, tag string, format string) veb.Result { +pub fn (mut app App) handle_download_tag_archive(mut ctx Context,username string, repo_name string, tag string, format string) veb.Result { // access checking will be implemented in another module user := app.get_user_by_username(username) or { return ctx.not_found() } repo := app.find_repo_by_name_and_user_id(repo_name, user.id) or { return ctx.not_found() } @@ -22,5 +22,5 @@ pub fn (mut app App) handle_download_tag_archive(username string, repo_name stri archive_content := os.read_file(archive_path) or { return ctx.not_found() } - return app.send_file(snapshot_name, archive_content) + return app.send_file(mut ctx,snapshot_name, archive_content) } diff --git a/src/user_routes.v b/src/user_routes.v index 58870ba..13ad9f4 100644 --- a/src/user_routes.v +++ b/src/user_routes.v @@ -73,7 +73,7 @@ pub fn (mut app App) user(username string) veb.Result { } @['/:username/settings'] -pub fn (mut app App) user_settings(username string) veb.Result { +pub fn (mut app App) user_settings(mut ctx Context, username string) veb.Result { is_users_settings := username == ctx.user.username if !ctx.logged_in || !is_users_settings { @@ -100,13 +100,13 @@ pub fn (mut app App) handle_update_user_settings(username string) veb.Result { if is_username_empty { ctx.error('New name is empty') - return app.user_settings(username) + return app.user_settings(mut ctx, username) } if ctx.user.namechanges_count > max_namechanges { ctx.error('You can not change your username, limit reached') - return app.user_settings(username) + return app.user_settings(mut ctx, username) } is_username_valid := validation.is_username_valid(new_username) @@ -114,7 +114,7 @@ pub fn (mut app App) handle_update_user_settings(username string) veb.Result { if !is_username_valid { ctx.error('New username is not valid') - return app.user_settings(username) + return app.user_settings(mut ctx, username) } is_first_namechange := ctx.user.last_namechange_time == 0 @@ -123,7 +123,7 @@ pub fn (mut app App) handle_update_user_settings(username string) veb.Result { if !(is_first_namechange || can_change_usernane) { ctx.error('You need to wait until you can change the name again') - return app.user_settings(username) + return app.user_settings(mut ctx, username) } is_new_username := new_username != username @@ -132,7 +132,7 @@ pub fn (mut app App) handle_update_user_settings(username string) veb.Result { if is_new_full_name { app.change_full_name(ctx.user.id, full_name) or { ctx.error('There was an error while updating the settings') - return app.user_settings(username) + return app.user_settings(mut ctx, username) } } @@ -142,16 +142,16 @@ pub fn (mut app App) handle_update_user_settings(username string) veb.Result { if user.id != 0 { ctx.error('Name already exists') - return app.user_settings(username) + return app.user_settings(mut ctx, username) } app.change_username(ctx.user.id, new_username) or { ctx.error('There was an error while updating the settings') - return app.user_settings(username) + return app.user_settings(mut ctx, username) } app.incement_namechanges(ctx.user.id) or { ctx.error('There was an error while updating the settings') - return app.user_settings(username) + return app.user_settings(mut ctx, username) } app.rename_user_directory(username, new_username) }