(partial: {
name?: string
baseUrl: string
token: string
intervalMinutes: number
pullLimit?: number
})
| 93 | } |
| 94 | |
| 95 | add(partial: { |
| 96 | name?: string |
| 97 | baseUrl: string |
| 98 | token: string |
| 99 | intervalMinutes: number |
| 100 | pullLimit?: number |
| 101 | }): DataSource { |
| 102 | const sources = this.loadAll() |
| 103 | const ds: DataSource = { |
| 104 | id: generateId('src'), |
| 105 | name: partial.name || '', |
| 106 | baseUrl: normalizeBaseUrl(partial.baseUrl), |
| 107 | token: partial.token, |
| 108 | intervalMinutes: partial.intervalMinutes, |
| 109 | pullLimit: partial.pullLimit || 1000, |
| 110 | enabled: true, |
| 111 | createdAt: Math.floor(Date.now() / 1000), |
| 112 | sessions: [], |
| 113 | } |
| 114 | sources.push(ds) |
| 115 | this.saveAll(sources) |
| 116 | return ds |
| 117 | } |
| 118 | |
| 119 | update(id: string, updates: DataSourceUpdatable): DataSource | null { |
| 120 | const sources = this.loadAll() |
no test coverage detected