| 4877 | } |
| 4878 | |
| 4879 | type Group struct { |
| 4880 | ID uuid.UUID `db:"id" json:"id"` |
| 4881 | Name string `db:"name" json:"name"` |
| 4882 | OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` |
| 4883 | AvatarURL string `db:"avatar_url" json:"avatar_url"` |
| 4884 | QuotaAllowance int32 `db:"quota_allowance" json:"quota_allowance"` |
| 4885 | // Display name is a custom, human-friendly group name that user can set. This is not required to be unique and can be the empty string. |
| 4886 | DisplayName string `db:"display_name" json:"display_name"` |
| 4887 | // Source indicates how the group was created. It can be created by a user manually, or through some system process like OIDC group sync. |
| 4888 | Source GroupSource `db:"source" json:"source"` |
| 4889 | ChatSpendLimitMicros sql.NullInt64 `db:"chat_spend_limit_micros" json:"chat_spend_limit_micros"` |
| 4890 | } |
| 4891 | |
| 4892 | // Per-group AI spend limit applied to each member of the group. No row means no budget is enforced. |
| 4893 | type GroupAiBudget struct { |
nothing calls this directly
no outgoing calls
no test coverage detected