feat(channel-monitor): apply template via subset picker; CC 2.1.114 baseline doc
Apply flow: - POST /admin/channel-monitor-templates/:id/apply now requires monitor_ids (non-empty array). Service applies the template only to the selected subset, gated by AND template_id = :id (so users can't sneak in unrelated monitor IDs). - New GET /admin/channel-monitor-templates/:id/monitors returns the associated monitor briefs (id/name/provider/enabled) for the picker. - ApplyToMonitors signature gains monitorIDs []int64; empty list returns ErrChannelMonitorTemplateApplyEmpty. Frontend: - New MonitorTemplateApplyPickerDialog.vue: list of associated monitors with checkboxes (default all checked), 全选 / 全不选 shortcuts, live selected/total count. Submit calls apply(id, ids). - MonitorTemplateManagerDialog replaces the old ConfirmDialog flow with the picker; onApplied refetches the list to refresh associated counts. i18n: applyPicker* + common.selectAll keys. chore: bump version to 0.1.114.33 The CC 2.1.114 (sdk-cli) UA / APIKeyBetaHeader / JSON metadata.user_id baseline (already verified working via the in-process apply on prod template id=1) is documented in internal/pkg/claude/constants.go and is what the seed template in the manager UI should follow.
This commit is contained in:
@@ -273,6 +273,7 @@ export default {
|
||||
no: 'No',
|
||||
all: 'All',
|
||||
none: 'None',
|
||||
selectAll: 'Select all',
|
||||
noData: 'No data',
|
||||
expand: 'Expand',
|
||||
collapse: 'Collapse',
|
||||
@@ -2192,11 +2193,17 @@ export default {
|
||||
updateSuccess: 'Template updated',
|
||||
deleteSuccess: 'Template deleted',
|
||||
applyButton: 'Apply to monitors',
|
||||
applyTooltip: 'Overwrite snapshot fields on all associated monitors',
|
||||
applyTooltip: 'Overwrite snapshot fields on associated monitors',
|
||||
applyTitle: 'Apply template',
|
||||
applyConfirm: 'Apply',
|
||||
applyConfirmMessage: 'Overwrite {n} associated monitor(s) with the current configuration of "{name}"? Any local customizations on those monitors will be discarded.',
|
||||
applySuccess: 'Applied to {n} monitor(s)',
|
||||
applyPickerTitle: 'Apply template "{name}"',
|
||||
applyPickerHint: 'Select which monitors to overwrite (all selected by default). Any local customizations will be discarded.',
|
||||
applyPickerEmpty: 'No monitors are currently associated to this template',
|
||||
applyPickerConfirm: 'Apply to {n} monitor(s)',
|
||||
selectNone: 'Select none',
|
||||
selectedCount: 'Selected {n} / {total}',
|
||||
deleteConfirm: 'Delete template "{name}"? {n} associated monitor(s) will be disassociated but keep their current snapshot and continue running.',
|
||||
associatedCount: '{n} associated monitor(s)',
|
||||
headersSummary: '{n} custom header(s)',
|
||||
|
||||
Reference in New Issue
Block a user