spookvooper-api/src/modules/interfaces/Interfaces.ts

90 lines
1.9 KiB
TypeScript
Raw Normal View History

2020-12-08 20:50:31 +00:00
// SpookVooper API - modules/interfaces/Interfaces.ts
// Written by Brendan Lane - https://brndnln.dev/
2020-12-16 05:42:08 +00:00
import { DistrictWealthType, SenatorDistrict } from '../types/Types'
2020-12-15 05:41:13 +00:00
interface EntityUser {
2020-12-16 05:42:08 +00:00
svid: string
apikey: string
2020-12-08 20:50:31 +00:00
getUser: () => Promise<any>
getUsername: () => Promise<any>
getBalance: () => Promise<any>
hasDiscordRole: () => Promise<any>
getDiscordRoles: () => Promise<any>
sendCredits: () => Promise<any>
getStockOffers: () => Promise<any>
buyStock: () => Promise<any>
sellStock: () => Promise<any>
}
2020-12-16 05:42:08 +00:00
interface EntityGroup {
2020-12-08 20:50:31 +00:00
svid: string
}
2020-12-16 05:42:08 +00:00
interface EntityDistrict {
name: string
getWealth: (type: DistrictWealthType) => Promise<number>
getSenator: (district: SenatorDistrict) => Promise<ReturnedUser>
}
/*
Class Constructor Configuration
*/
interface ConfigUser {
2020-12-08 20:50:31 +00:00
svid: string
2020-12-16 05:42:08 +00:00
apikey?: string
2020-12-08 20:50:31 +00:00
}
2020-12-09 07:34:30 +00:00
2020-12-16 05:42:08 +00:00
interface ConfigAuth {
2020-12-09 07:34:30 +00:00
clientid: string
clientsecret: string
}
2020-12-15 05:41:13 +00:00
2020-12-16 05:42:08 +00:00
/*
Returned values from SVAPI
*/
2020-12-15 05:41:13 +00:00
interface ReturnedUser {
userName: string
twitch_id: string | null
discord_id: number | null
post_likes: number
comment_likes: number
nationstate: string | null
description: string | null
api_use_count: number
minecraft_id: string | null
twitch_last_message_minute: number
twitch_message_xp: number
twitch_messages: number
discord_commends: number
discord_commends_sent: number
discord_last_commend_hour: number
discord_last_commend_message: number
discord_message_xp: number
discord_message_count: number
discord_last_message_minute: number
discord_warning_count: number
discord_ban_count: number
discord_kick_count: number
discord_game_xp: number
district: string | null
id: string
name: string
credits: number
image_Url: string | null
}
export {
2020-12-16 05:42:08 +00:00
// API Entities
2020-12-15 05:41:13 +00:00
EntityUser,
EntityGroup,
2020-12-16 05:42:08 +00:00
EntityDistrict,
// Class Config Interfaces
2020-12-15 05:41:13 +00:00
ConfigUser,
2020-12-16 05:42:08 +00:00
ConfigAuth,
// API Return Values
2020-12-15 05:41:13 +00:00
ReturnedUser
}