Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/composables/useBotVotesProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ export default function useBotVotesProvider(botId: Ref<string>, provider: VotesP
const config = computed<{
connectionId?: string
webhookSecret?: string
} | null>(() => store.bots[botId.value]?.webhooksConfig[provider] ?? null)
} | null>(() => store.bots[botId.value]?.webhooksConfig.providers[provider] ?? null)

async function update(token: string) {
if (!api.userId) throw new Error('Not authenticated')
await api.bots.votes.update(botId.value, provider, token)

if (store.bots[botId.value]?.webhooksConfig[provider]) {
store.bots[botId.value]!.webhooksConfig[provider]!.webhookSecret = token
if (store.bots[botId.value]?.webhooksConfig.providers[provider]) {
store.bots[botId.value]!.webhooksConfig.providers[provider]!.webhookSecret = token
}
}

Expand Down
13 changes: 8 additions & 5 deletions src/utils/statsManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -418,15 +418,18 @@ export function calculateVotes(

rawVotes.forEach((votes) => {
const date = toBucket(votes.date, granularity)
const providerName = selectVotesProvider(votes.provider)

if (!votesMap.has(date.getTime()))
votesMap.set(date.getTime(), { total: 0, byProvider: new Map() })
const entry = votesMap.get(date.getTime())!
entry.total += votes.count
if (providerName) {
entry.byProvider.set(providerName, (entry.byProvider.get(providerName) ?? 0) + votes.count)
pieMap.set(providerName, (pieMap.get(providerName) ?? 0) + votes.count)

for (const [provider, count] of Object.entries(votes.votes)) {
const providerName = selectVotesProvider(provider as VotesProvider)
entry.total += count
if (providerName) {
entry.byProvider.set(providerName, (entry.byProvider.get(providerName) ?? 0) + count)
pieMap.set(providerName, (pieMap.get(providerName) ?? 0) + count)
}
}
})

Expand Down
14 changes: 8 additions & 6 deletions src/utils/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,11 @@ export interface Bot {
teammatesLimit: number
webhooksConfig: {
webhookUrl?: string
} & {
[provider: string]: {
connectionId?: string
webhookSecret?: string
providers: {
[provider: string]: {
connectionId?: string
webhookSecret?: string
}
}
}
}
Expand Down Expand Up @@ -143,9 +144,10 @@ export interface CustomEvent {
export interface RawVotes {
id: number
date: string
provider: VotesProvider
votes: {
[provider: string]: number
}
botId: string
count: number
}

export interface ChartData {
Expand Down
Loading