vikunja/pkg/models
kolaente 10ff864e0c
fix(projects): load projects only one when fetching subscriptions for a bunch of projects at once
This change ensures already loaded projects are passed down when fetching their subscription  instead of re-loading each project with a single sql statement. When loading all projects, this meant all projects were loaded twice, which was highly inefficient. This roughly added 25ms to each request, assuming the per page limit was maxed out at 50 projects.

Empirical testing shows this change reduces load times by ~20ms. Because the request is already pretty fast, this is ~30% of the overall request time, making the loading of projects now even faster
2024-03-02 14:27:11 +01:00
..
api_routes.go feat(api tokens): add task attachment to api scopes 2024-02-14 15:00:16 +01:00
api_tokens.go docs(webhooks): add swagger docs for all webhook endpoints 2023-10-17 20:35:14 +02:00
api_tokens_rights.go fix: lint 2023-09-01 08:39:25 +02:00
api_tokens_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
bulk_task.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
bulk_task_test.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
error.go feat: assign users to teams via OIDC claims (#1393) 2024-03-02 08:47:10 +00:00
events.go chore(webhooks): remove WebhookEvent interface 2023-10-17 20:35:13 +02:00
export.go fix(export): don't crash when an exported file does not exist 2024-02-10 13:45:12 +01:00
favorites.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
kanban.go fix: properly tag bucket-related operations 2023-10-24 16:13:15 +02:00
kanban_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
kanban_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
label.go feat: accept hex values which start with a # 2023-10-24 16:12:22 +02:00
label_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
label_task.go fix(labels): make sure labels of shared sub projects are usable 2023-12-03 14:33:43 +01:00
label_task_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
label_task_test.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
label_test.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
link_sharing.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
link_sharing_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
link_sharing_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
listeners.go fix(webhook): fetch all event details before sending the webhook 2024-02-10 14:15:32 +01:00
main_test.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
mentions.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
mentions_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
message.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
models.go fix: create webhooks table for fresh installation 2023-12-30 11:58:02 +01:00
notifications.go feat: rename frontend url config to public url 2024-02-09 14:41:55 +01:00
notifications_database.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
project.go fix(projects): load projects only one when fetching subscriptions for a bunch of projects at once 2024-03-02 14:27:11 +01:00
project_duplicate.go fix(project background): add more checks for whether a background file exists when duplicating or deleting a project 2023-09-13 11:20:59 +02:00
project_duplicate_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
project_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
project_team.go fix: lint 2023-10-10 20:35:43 +02:00
project_team_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
project_team_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
project_test.go feat: fetch all projects with a recursive cte instead of recursive query 2024-02-28 13:42:45 +01:00
project_users.go fix: lint 2023-10-10 20:35:43 +02:00
project_users_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
project_users_rights_test.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
project_users_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
saved_filters.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
saved_filters_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
saved_filters_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
subscription.go fix(projects): load projects only one when fetching subscriptions for a bunch of projects at once 2024-03-02 14:27:11 +01:00
subscription_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
subscription_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
task_assignees.go fix(assignees): make sure task assignee created event contains the full task 2024-01-28 13:23:27 +01:00
task_assignees_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
task_attachment.go fix(webhooks): make sure all events with tasks have the full task 2024-01-27 00:16:17 +01:00
task_attachment_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
task_attachment_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
task_collection.go fix(project): pass user id to error message 2024-01-31 13:50:21 +01:00
task_collection_filter.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
task_collection_sort.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
task_collection_sort_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
task_collection_test.go feat: fetch all projects with a recursive cte instead of recursive query 2024-02-28 13:42:45 +01:00
task_comment_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
task_comments.go fix(webhooks): make sure all events with tasks have the full task 2024-01-27 00:16:17 +01:00
task_comments_test.go fix: tests 2024-01-28 11:52:16 +01:00
task_overdue_reminder.go fix(projects): load projects only one when fetching subscriptions for a bunch of projects at once 2024-03-02 14:27:11 +01:00
task_overdue_reminder_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
task_relation.go fix(tasks): check for cycles during creation of task relations and prevent them 2024-02-10 13:30:41 +01:00
task_relation_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
task_relation_test.go fix(tasks): check for cycles during creation of task relations and prevent them 2024-02-10 13:30:41 +01:00
task_reminder.go fix(projects): load projects only one when fetching subscriptions for a bunch of projects at once 2024-03-02 14:27:11 +01:00
task_reminder_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
task_search.go fix(filters): add explicit check for string slice filter 2024-02-05 22:08:17 +01:00
tasks.go fix(projects): load projects only one when fetching subscriptions for a bunch of projects at once 2024-03-02 14:27:11 +01:00
tasks_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
tasks_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
team_members.go feat: assign users to teams via OIDC claims (#1393) 2024-03-02 08:47:10 +00:00
team_members_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
team_members_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
teams.go feat: assign users to teams via OIDC claims (#1393) 2024-03-02 08:47:10 +00:00
teams_rights.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
teams_rights_test.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
teams_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
typesense.go fix(typesense): update tasks in Typesense directly when the change happened 2024-01-28 11:47:17 +01:00
unit_tests.go feat(api tokens): add tests 2023-09-01 10:19:31 +02:00
unsplash.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
user_delete.go fix(projects): delete child projects when deleting a project 2023-12-01 17:27:40 +01:00
user_delete_test.go chore(deps): update golangci-lint rules 2023-12-19 13:34:31 +01:00
user_project.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
user_project_test.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
users.go chore: remove year from copyright headers 2023-09-01 08:32:28 +02:00
webhooks.go fix(webhooks): send application/json header 2023-12-06 14:09:49 +01:00
webhooks_rights.go feat(webhooks): prevent link shares from managing webhooks 2023-10-17 20:35:13 +02:00