()
| 25 | } |
| 26 | |
| 27 | export function generateIntegrationToken(): { |
| 28 | token: string |
| 29 | tokenPreview: string |
| 30 | } { |
| 31 | const token = `${TOKEN_PREFIX}${randomBytes(TOKEN_BYTES).toString('base64url')}` |
| 32 | const tokenPreview = getTokenPreview(token) |
| 33 | |
| 34 | store.preferences.set('api.integrations.enabled', true) |
| 35 | store.preferences.set( |
| 36 | 'api.integrations.tokenHash', |
| 37 | hashIntegrationToken(token), |
| 38 | ) |
| 39 | store.preferences.set('api.integrations.tokenPreview', tokenPreview) |
| 40 | |
| 41 | return { token, tokenPreview } |
| 42 | } |
| 43 | |
| 44 | export function revokeIntegrationToken(): void { |
| 45 | store.preferences.set('api.integrations.enabled', false) |
no test coverage detected