63 lines
1.7 KiB
TypeScript
63 lines
1.7 KiB
TypeScript
// Metro module 8180 (f8181).
|
|
import GuildStore from "./GuildStore";
|
|
import { fetchGuildAffinities } from "../actions/GuildAffinitiesActionCreators";
|
|
import Module589 from "../_bundle/Module589";
|
|
import Dispatcher from "../Dispatcher";
|
|
let c5194_3 = {
|
|
guildAffinitiesByGuildId: {},
|
|
guildAffinities: [],
|
|
lastFetched: 0
|
|
};
|
|
class GuildAffinitiesStore extends Module589.PersistedStore {
|
|
static displayName = "GuildAffinitiesStore";
|
|
static persistKey = "GuildAffinitiesStore";
|
|
initialize(a0) {
|
|
if (a0 != null) {
|
|
c5194_3 = a0;
|
|
}
|
|
this.waitFor(GuildStore);
|
|
}
|
|
getState() {
|
|
return c5194_3;
|
|
}
|
|
getGuildAffinity(a0) {
|
|
return c5194_3.guildAffinitiesByGuildId[a0];
|
|
}
|
|
get affinities() {
|
|
return c5194_3.guildAffinities;
|
|
}
|
|
get hasRequestResolved() {
|
|
return c5194_3.lastFetched !== 0;
|
|
}
|
|
}
|
|
const guildAffinitiesStore = new GuildAffinitiesStore(Dispatcher, {
|
|
CONNECTION_OPEN: function handleConnectionOpen() {
|
|
if (Date.now() - c5194_3.lastFetched > 86400000) {
|
|
fetchGuildAffinities();
|
|
}
|
|
return false;
|
|
},
|
|
LOAD_GUILD_AFFINITIES_SUCCESS: function handleLoadGuildAffinitiesSuccess({ guildAffinities }) {
|
|
c5194_3.guildAffinities = [];
|
|
c5194_3.guildAffinitiesByGuildId = {};
|
|
c5194_3.lastFetched = Date.now();
|
|
guildAffinities.forEach(({ affinity, guild_id }, a1) => {
|
|
const r5 = {
|
|
score: affinity,
|
|
guildId: guild_id,
|
|
index: a1
|
|
};
|
|
c5194_3.guildAffinitiesByGuildId[guild_id] = r5;
|
|
c5194_3.guildAffinities.push(r5);
|
|
});
|
|
},
|
|
LOGOUT: function handleLogout() {
|
|
c5194_3 = {
|
|
guildAffinitiesByGuildId: {},
|
|
guildAffinities: [],
|
|
lastFetched: 0
|
|
};
|
|
}
|
|
});
|
|
export default guildAffinitiesStore;
|