(ctx context.Context, fileID uuid.UUID, prepared rbac.PreparedAuthorized)
| 839 | } |
| 840 | |
| 841 | func (q *sqlQuerier) GetAuthorizedChatsByChatFileID(ctx context.Context, fileID uuid.UUID, prepared rbac.PreparedAuthorized) ([]Chat, error) { |
| 842 | authorizedFilter, err := prepared.CompileToSQL(ctx, rbac.ConfigChats()) |
| 843 | if err != nil { |
| 844 | return nil, xerrors.Errorf("compile authorized filter: %w", err) |
| 845 | } |
| 846 | |
| 847 | filtered, err := insertAuthorizedFilter(getChatsByChatFileID, fmt.Sprintf(" AND %s\nLIMIT 1", authorizedFilter)) |
| 848 | if err != nil { |
| 849 | return nil, xerrors.Errorf("insert authorized filter: %w", err) |
| 850 | } |
| 851 | |
| 852 | query := fmt.Sprintf("-- name: GetAuthorizedChatsByChatFileID :many\n%s", filtered) |
| 853 | rows, err := q.db.QueryContext(ctx, query, fileID) |
| 854 | if err != nil { |
| 855 | return nil, err |
| 856 | } |
| 857 | defer rows.Close() |
| 858 | var items []Chat |
| 859 | for rows.Next() { |
| 860 | var i Chat |
| 861 | if err := rows.Scan( |
| 862 | &i.ID, |
| 863 | &i.OwnerID, |
| 864 | &i.WorkspaceID, |
| 865 | &i.Title, |
| 866 | &i.Status, |
| 867 | &i.WorkerID, |
| 868 | &i.StartedAt, |
| 869 | &i.HeartbeatAt, |
| 870 | &i.CreatedAt, |
| 871 | &i.UpdatedAt, |
| 872 | &i.ParentChatID, |
| 873 | &i.RootChatID, |
| 874 | &i.LastModelConfigID, |
| 875 | &i.Archived, |
| 876 | &i.LastError, |
| 877 | &i.Mode, |
| 878 | pq.Array(&i.MCPServerIDs), |
| 879 | &i.Labels, |
| 880 | &i.BuildID, |
| 881 | &i.AgentID, |
| 882 | &i.PinOrder, |
| 883 | &i.LastReadMessageID, |
| 884 | &i.LastInjectedContext, |
| 885 | &i.DynamicTools, |
| 886 | &i.OrganizationID, |
| 887 | &i.PlanMode, |
| 888 | &i.ClientType, |
| 889 | &i.LastTurnSummary, |
| 890 | &i.UserACL, |
| 891 | &i.GroupACL, |
| 892 | &i.OwnerUsername, |
| 893 | &i.OwnerName); err != nil { |
| 894 | return nil, err |
| 895 | } |
| 896 | items = append(items, i) |
| 897 | } |
| 898 | if err := rows.Close(); err != nil { |
nothing calls this directly
no test coverage detected