| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| components | ||
| modals | ||
| ModelsActions.jsx | ||
| ModelsColumnDefs.js | ||
| ModelsDescription.jsx | ||
| ModelsFilters.jsx | ||
| ModelsTable.jsx | ||
| ModelsTabs.jsx | ||
| index.jsx |
Backend - Add GetBoundChannelsByModelsMap to batch-fetch bound channels via a single JOIN (Distinct), compatible with SQLite/MySQL/PostgreSQL - Replace per-record enrichment with a single-pass enrichModels to avoid N+1 queries; compute unions for prefix/suffix/contains matches in memory - Change Model.QuotaType to QuotaTypes []int and expose quota_types in responses - Add GetModelQuotaTypes for cached O(1) lookups; exact models return a single-element array - Sort quota_types for stable output order - Remove unused code: GetModelByName, GetBoundChannels, GetBoundChannelsForModels, FindModelByNameWithRule, buildPrefixes, buildSuffixes - Clean up redundant comments, keeping concise and readable code Frontend - Models table: switch to quota_types, render multiple billing modes ([0], [1], [0,1], future values supported) - Pricing table: switch to quota_types; ratio display now checks quota_types.includes(0); array rendering for billing tags Compatibility - SQL uses standard JOIN/IN/Distinct; works across SQLite/MySQL/PostgreSQL - Lint passes; no DB schema changes (quota_types is a JSON response field only) Breaking Change - API field renamed: quota_type -> quota_types (array). Update clients accordingly.
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| components | Loading commit data... | |
| modals | Loading commit data... | |
| ModelsActions.jsx | Loading commit data... | |
| ModelsColumnDefs.js | Loading commit data... | |
| ModelsDescription.jsx | Loading commit data... | |
| ModelsFilters.jsx | Loading commit data... | |
| ModelsTable.jsx | Loading commit data... | |
| ModelsTabs.jsx | Loading commit data... | |
| index.jsx | Loading commit data... |