Ajout de composants Hero Wars
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
export interface HWClanListConfig {
|
||||
type: string;
|
||||
filters: HWClanListFilters;
|
||||
}
|
||||
|
||||
export interface HWClanListFilters {
|
||||
id?: string;
|
||||
title?: string;
|
||||
country?: string;
|
||||
level?: string;
|
||||
minLevel?: string;
|
||||
ownerId?: string;
|
||||
serverId?: string;
|
||||
topActivity?: string;
|
||||
topDungeon?: string;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import { HWClan } from './clan.model';
|
||||
|
||||
export interface HWClanList {
|
||||
clans: Array<HWClan>;
|
||||
clansCount: number;
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
import { HWMember } from './member.model';
|
||||
import { HWActivityStat, HWGuildStat, HWMemberStat } from './stat.model';
|
||||
import { PageLinks, PageMeta } from '../shared.model';
|
||||
|
||||
export interface HWGuildClan {
|
||||
id: string;
|
||||
ownerId: string;
|
||||
level: string;
|
||||
title: string;
|
||||
description: string;
|
||||
icon: {
|
||||
flagColor1: number;
|
||||
flagColor2: number;
|
||||
flagShape: number;
|
||||
iconColor: number;
|
||||
iconShape: number;
|
||||
};
|
||||
country: string;
|
||||
minLevel: string;
|
||||
serverId: string;
|
||||
membersCount: string;
|
||||
disbanding: boolean;
|
||||
topActivity: string;
|
||||
topDungeon: string;
|
||||
roleNames: never[];
|
||||
frameId: number;
|
||||
members: {[key: string]: HWMember};
|
||||
news: string;
|
||||
activityPoints: number;
|
||||
dungeonPoints: number;
|
||||
blackList: {[key: string]: number};
|
||||
warriors: number[];
|
||||
giftsCount: number;
|
||||
daysToKick: string;
|
||||
league: string;
|
||||
sumAverages: HWActivityStat;
|
||||
sumTotal: HWActivityStat;
|
||||
todayAverages: HWActivityStat;
|
||||
todayTotal: HWActivityStat;
|
||||
}
|
||||
export interface HWGuildData {
|
||||
clan: HWGuildClan;
|
||||
slots: {[key: string]: number};
|
||||
membersStat: HWMemberStat[];
|
||||
stat: HWGuildStat;
|
||||
serverResetTime: number;
|
||||
clanWarEndSeasonTime: number;
|
||||
freeClanChangeInterval: {
|
||||
start: number;
|
||||
end: number;
|
||||
};
|
||||
giftUids: string[];
|
||||
}
|
||||
|
||||
export interface HWClan {
|
||||
id: string;
|
||||
country: string;
|
||||
description: string;
|
||||
disbanding: boolean;
|
||||
frameId: number;
|
||||
icon: {
|
||||
flagColor1: number;
|
||||
flagColor2: number;
|
||||
flagShape: number;
|
||||
iconColor: number;
|
||||
iconShape: number;
|
||||
};
|
||||
level: string;
|
||||
members: {[key: string]: HWMember};
|
||||
membersCount: string;
|
||||
minLevel: string;
|
||||
ownerId: string;
|
||||
/*roleNames: never[];*/
|
||||
serverId: string;
|
||||
title: string;
|
||||
topActivity: string;
|
||||
topDungeon: string;
|
||||
}
|
||||
|
||||
export interface HWClanPageData {
|
||||
clan: HWClan;
|
||||
_links: PageLinks;
|
||||
_meta: PageMeta;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import { HWMember } from './member.model';
|
||||
|
||||
export interface HWGuildWarFortification {
|
||||
name: string;
|
||||
type: string;
|
||||
count: number;
|
||||
teams: HWMember[];
|
||||
positions: number[];
|
||||
slots: number[];
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
|
||||
export interface HWGuildWarHeroTeam {
|
||||
id: number;
|
||||
level: number;
|
||||
color: number;
|
||||
star: number;
|
||||
power: number;
|
||||
}
|
||||
export interface HWGuildWarTitanTeam {
|
||||
id: number;
|
||||
level: number;
|
||||
star: number;
|
||||
element: string;
|
||||
elementSpiritLevel: number;
|
||||
elementSpiritStar: number;
|
||||
elementSpiritSkills: {
|
||||
skillId: number;
|
||||
level: number;
|
||||
tierScale: number;
|
||||
}[];
|
||||
elementAffinityPower: number;
|
||||
power: number;
|
||||
}
|
||||
export interface HWGuildWarEnemyTeam {
|
||||
element: string;
|
||||
elementSpiritLevel: number;
|
||||
elementSpiritStar: number;
|
||||
elementSpiritSkills: {
|
||||
skillId: number;
|
||||
level: number;
|
||||
tierScale: number;
|
||||
}[];
|
||||
elementAffinityPower: number;
|
||||
state: {
|
||||
isDead: boolean;
|
||||
hp: number;
|
||||
energy: number;
|
||||
maxHp: number;
|
||||
};
|
||||
id: number;
|
||||
star: number;
|
||||
color: number;
|
||||
level: number;
|
||||
power: number;
|
||||
type: string;
|
||||
}
|
||||
export interface HWGuildWarSlots {
|
||||
[key: string]: number[];
|
||||
}
|
||||
export interface HWGuildWarEnemySlot {
|
||||
attackerId: number;
|
||||
status: string;
|
||||
user: {
|
||||
id: string;
|
||||
name: string;
|
||||
lastLoginTime: string;
|
||||
serverId: string;
|
||||
level: string;
|
||||
clanId: string;
|
||||
clanRole: string;
|
||||
commander: boolean;
|
||||
avatarId: string;
|
||||
isChatModerator: boolean;
|
||||
frameId: number;
|
||||
leagueId: number;
|
||||
allowPm: string;
|
||||
clanTitle: string;
|
||||
clanIcon: {
|
||||
flagColor1: number;
|
||||
flagColor2: number;
|
||||
flagShape: number;
|
||||
iconColor: number;
|
||||
iconShape: number;
|
||||
};
|
||||
};
|
||||
pointsFarmed: number;
|
||||
slotId: number;
|
||||
totalPoints: number;
|
||||
teams: HWGuildWarEnemyTeam[];
|
||||
}
|
||||
@@ -0,0 +1,264 @@
|
||||
export interface HWMember {
|
||||
id: string;
|
||||
name: string;
|
||||
lastLoginTime: string;
|
||||
serverId: string;
|
||||
level: string;
|
||||
clanId: string;
|
||||
clanRole: string;
|
||||
commander: boolean;
|
||||
avatarId: string;
|
||||
isChatModerator: boolean;
|
||||
frameId: number;
|
||||
leagueId: number;
|
||||
allowPm: string;
|
||||
showProfile: boolean;
|
||||
clanTitle: string;
|
||||
clanIcon: {
|
||||
flagColor1: number;
|
||||
flagColor2: number;
|
||||
flagShape: number;
|
||||
iconColor: number;
|
||||
iconShape: number;
|
||||
};
|
||||
champion: boolean;
|
||||
heroes: {
|
||||
power: number;
|
||||
teams: HWGuildWarHeroTeam[];
|
||||
};
|
||||
titans: {
|
||||
power: number;
|
||||
teams: HWGuildWarTitanTeam[];
|
||||
};
|
||||
stat: HWMemberStat;
|
||||
inactivity: {
|
||||
daysLeft: number,
|
||||
timeLeft: number,
|
||||
dropDate: number;
|
||||
dropDelay: string;
|
||||
}
|
||||
adventureSum: number;
|
||||
clanGiftsSum: number;
|
||||
clanWarSum: number;
|
||||
weekStat: HWWeekStat;
|
||||
score: number;
|
||||
scoreGifts: number;
|
||||
warGifts: number;
|
||||
rewards: number;
|
||||
raids: HWGuildRaid[];
|
||||
raidsInfo: {
|
||||
variationAvg: number;
|
||||
variationSum: number;
|
||||
}
|
||||
}
|
||||
export interface HWGuildWarHeroTeam {
|
||||
id: number;
|
||||
level: number;
|
||||
color: number;
|
||||
star: number;
|
||||
power: number;
|
||||
}
|
||||
export interface HWGuildWarTitanTeam {
|
||||
id: number;
|
||||
level: number;
|
||||
star: number;
|
||||
element: string;
|
||||
elementSpiritLevel: number;
|
||||
elementSpiritStar: number;
|
||||
elementSpiritSkills: {
|
||||
skillId: number;
|
||||
level: number;
|
||||
tierScale: number;
|
||||
}[];
|
||||
elementAffinityPower: number;
|
||||
power: number;
|
||||
}
|
||||
export interface HWGuildWarFortification {
|
||||
name: string;
|
||||
type: string;
|
||||
count: number;
|
||||
teams: HWMember[];
|
||||
positions: number[];
|
||||
slots: number[];
|
||||
}
|
||||
export interface HWGuildStat {
|
||||
todayActivity: number;
|
||||
activitySum: number;
|
||||
dungeonActivitySum: number;
|
||||
todayRaid: never[];
|
||||
todayItemsActivity: number;
|
||||
todayDungeonActivity: number;
|
||||
activityForRuneAvailable: boolean;
|
||||
adventureStat: number;
|
||||
clanWarStat: number;
|
||||
}
|
||||
export interface HWGuildClan {
|
||||
id: string;
|
||||
ownerId: string;
|
||||
level: string;
|
||||
title: string;
|
||||
description: string;
|
||||
icon: {
|
||||
flagColor1: number;
|
||||
flagColor2: number;
|
||||
flagShape: number;
|
||||
iconColor: number;
|
||||
iconShape: number;
|
||||
};
|
||||
country: string;
|
||||
minLevel: string;
|
||||
serverId: string;
|
||||
membersCount: string;
|
||||
disbanding: boolean;
|
||||
topActivity: string;
|
||||
topDungeon: string;
|
||||
roleNames: never[];
|
||||
frameId: number;
|
||||
members: {[key: string]: HWMember};
|
||||
news: string;
|
||||
activityPoints: number;
|
||||
dungeonPoints: number;
|
||||
blackList: {[key: string]: number};
|
||||
warriors: number[];
|
||||
giftsCount: number;
|
||||
daysToKick: string;
|
||||
league: string;
|
||||
}
|
||||
export interface HWGuildData {
|
||||
clan: HWGuildClan;
|
||||
slots: {[key: string]: number};
|
||||
membersStat: HWMemberStat[];
|
||||
stat: HWGuildStat;
|
||||
serverResetTime: number;
|
||||
clanWarEndSeasonTime: number;
|
||||
freeClanChangeInterval: {
|
||||
start: number;
|
||||
end: number;
|
||||
};
|
||||
giftUids: string[];
|
||||
}
|
||||
export interface HWActivityStat {
|
||||
activity: number;
|
||||
prestige: number;
|
||||
titanite: number;
|
||||
war: number;
|
||||
adventure: number;
|
||||
gifts: number;
|
||||
score: number;
|
||||
scoreGifts: number;
|
||||
warGifts: number;
|
||||
rewards: number;
|
||||
}
|
||||
export interface HWWeekStat {
|
||||
activity: number[];
|
||||
dungeonActivity: number[];
|
||||
adventureStat: number[];
|
||||
clanWarStat: number[];
|
||||
prestigeStat: number[];
|
||||
clanGifts: number[];
|
||||
}
|
||||
export interface HWMemberStat {
|
||||
activitySum: number;
|
||||
todayActivity: number;
|
||||
dungeonActivitySum: number;
|
||||
todayDungeonActivity: number;
|
||||
raidSum: number;
|
||||
wasChampion: boolean;
|
||||
todayPrestige: number;
|
||||
prestigeSum: number;
|
||||
}
|
||||
export interface HWGuildRaidAttacker {
|
||||
id: number;
|
||||
power: number;
|
||||
type: string;
|
||||
}
|
||||
export interface HWGuildRaidStage {
|
||||
num: number;
|
||||
name: string;
|
||||
maxPower: number;
|
||||
duration: number;
|
||||
startTime: number;
|
||||
endTime: number;
|
||||
}
|
||||
export interface HWGuildRaid {
|
||||
userId: string;
|
||||
userName: string;
|
||||
power: number;
|
||||
variation: {
|
||||
value: number;
|
||||
percent: number;
|
||||
color: string;
|
||||
};
|
||||
tooltip: string;
|
||||
startTime: string;
|
||||
endTime: string;
|
||||
damage: {
|
||||
"1": number;
|
||||
"2": number;
|
||||
};
|
||||
level: string;
|
||||
attackers: HWGuildRaidAttacker[];
|
||||
stage: HWGuildRaidStage;
|
||||
|
||||
}
|
||||
export interface HWGuildRaidAttackers {
|
||||
[key: string]: HWGuildRaidAttacker;
|
||||
}
|
||||
export interface HWGuildWarEnemySlot {
|
||||
attackerId: number;
|
||||
status: string;
|
||||
user: {
|
||||
id: string;
|
||||
name: string;
|
||||
lastLoginTime: string;
|
||||
serverId: string;
|
||||
level: string;
|
||||
clanId: string;
|
||||
clanRole: string;
|
||||
commander: boolean;
|
||||
avatarId: string;
|
||||
isChatModerator: boolean;
|
||||
frameId: number;
|
||||
leagueId: number;
|
||||
allowPm: string;
|
||||
clanTitle: string;
|
||||
clanIcon: {
|
||||
flagColor1: number;
|
||||
flagColor2: number;
|
||||
flagShape: number;
|
||||
iconColor: number;
|
||||
iconShape: number;
|
||||
};
|
||||
};
|
||||
pointsFarmed: number;
|
||||
slotId: number;
|
||||
totalPoints: number;
|
||||
teams: HWGuildWarEnemyTeam[];
|
||||
}
|
||||
|
||||
export interface HWGuildWarEnemyTeam {
|
||||
element: string;
|
||||
elementSpiritLevel: number;
|
||||
elementSpiritStar: number;
|
||||
elementSpiritSkills: {
|
||||
skillId: number;
|
||||
level: number;
|
||||
tierScale: number;
|
||||
}[];
|
||||
elementAffinityPower: number;
|
||||
state: {
|
||||
isDead: boolean;
|
||||
hp: number;
|
||||
energy: number;
|
||||
maxHp: number;
|
||||
};
|
||||
id: number;
|
||||
star: number;
|
||||
color: number;
|
||||
level: number;
|
||||
power: number;
|
||||
type: string;
|
||||
}
|
||||
export interface HWGuildWarSlots {
|
||||
[key: string]: number[];
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
export * from './clan-list-config.model';
|
||||
export * from './clan-list.model';
|
||||
export * from './clan.model';
|
||||
export * from './fortification.model';
|
||||
export * from './guildwar.model';
|
||||
//export * from './hw.model';
|
||||
export * from './member.model';
|
||||
export * from './raid.model';
|
||||
export * from './stat.model';
|
||||
@@ -0,0 +1,57 @@
|
||||
import { HWGuildRaid } from './raid.model';
|
||||
import { HWMemberStat, HWWeekStat } from './stat.model';
|
||||
import { HWGuildWarHeroTeam, HWGuildWarTitanTeam } from './guildwar.model';
|
||||
|
||||
export interface HWMember {
|
||||
id: string;
|
||||
allowPm: string;
|
||||
avatarId: string;
|
||||
clanIcon: {
|
||||
flagColor1: number;
|
||||
flagColor2: number;
|
||||
flagShape: number;
|
||||
iconColor: number;
|
||||
iconShape: number;
|
||||
};
|
||||
clanId: string;
|
||||
clanRole: string;
|
||||
clanTitle: string;
|
||||
commander: boolean;
|
||||
frameId: number;
|
||||
isChatModerator: boolean;
|
||||
lastLoginTime: string;
|
||||
leagueId: number;
|
||||
level: string;
|
||||
name: string;
|
||||
serverId: string;
|
||||
showProfile: boolean;
|
||||
champion: boolean;
|
||||
heroes: {
|
||||
power: number;
|
||||
teams: HWGuildWarHeroTeam[];
|
||||
};
|
||||
titans: {
|
||||
power: number;
|
||||
teams: HWGuildWarTitanTeam[];
|
||||
};
|
||||
stat: HWMemberStat;
|
||||
inactivity: {
|
||||
daysLeft: number,
|
||||
timeLeft: number,
|
||||
dropDate: number;
|
||||
dropDelay: string;
|
||||
}
|
||||
adventureSum: number;
|
||||
clanGiftsSum: number;
|
||||
clanWarSum: number;
|
||||
weekStat: HWWeekStat;
|
||||
score: number;
|
||||
scoreGifts: number;
|
||||
warGifts: number;
|
||||
rewards: number;
|
||||
raids: HWGuildRaid[];
|
||||
raidsInfo: {
|
||||
variationAvg: number;
|
||||
variationSum: number;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
export interface HWGuildRaidAttacker {
|
||||
id: number;
|
||||
power: number;
|
||||
type: string;
|
||||
}
|
||||
export interface HWGuildRaidStage {
|
||||
num: number;
|
||||
name: string;
|
||||
maxPower: number;
|
||||
duration: number;
|
||||
startTime: number;
|
||||
endTime: number;
|
||||
}
|
||||
export interface HWGuildRaid {
|
||||
userId: string;
|
||||
userName: string;
|
||||
power: number;
|
||||
variation: {
|
||||
value: number;
|
||||
percent: number;
|
||||
color: string;
|
||||
};
|
||||
tooltip: string;
|
||||
startTime: string;
|
||||
endTime: string;
|
||||
damage: {
|
||||
"1": number;
|
||||
"2": number;
|
||||
};
|
||||
level: string;
|
||||
attackers: HWGuildRaidAttacker[];
|
||||
stage: HWGuildRaidStage;
|
||||
|
||||
}
|
||||
export interface HWGuildRaidAttackers {
|
||||
[key: string]: HWGuildRaidAttacker;
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
export interface HWGuildStat {
|
||||
todayActivity: number;
|
||||
activitySum: number;
|
||||
dungeonActivitySum: number;
|
||||
todayRaid: never[];
|
||||
todayItemsActivity: number;
|
||||
todayDungeonActivity: number;
|
||||
activityForRuneAvailable: boolean;
|
||||
adventureStat: number;
|
||||
clanWarStat: number;
|
||||
}
|
||||
export interface HWActivityStat {
|
||||
activity: number;
|
||||
prestige: number;
|
||||
titanite: number;
|
||||
war: number;
|
||||
adventure: number;
|
||||
gifts: number;
|
||||
score: number;
|
||||
scoreGifts: number;
|
||||
warGifts: number;
|
||||
rewards: number;
|
||||
}
|
||||
export interface HWWeekStat {
|
||||
activity: number[];
|
||||
dungeonActivity: number[];
|
||||
adventureStat: number[];
|
||||
clanWarStat: number[];
|
||||
prestigeStat: number[];
|
||||
clanGifts: number[];
|
||||
}
|
||||
export interface HWMemberStat {
|
||||
activitySum: number;
|
||||
todayActivity: number;
|
||||
dungeonActivitySum: number;
|
||||
todayDungeonActivity: number;
|
||||
raidSum: number;
|
||||
wasChampion: boolean;
|
||||
todayPrestige: number;
|
||||
prestigeSum: number;
|
||||
}
|
||||
@@ -13,7 +13,7 @@ export * from './category.model';
|
||||
export * from './chart.model';
|
||||
export * from './dropzone.model';
|
||||
export * from './errors.model';
|
||||
export * from './hw.model';
|
||||
export * from './herowars/';
|
||||
export * from './jump.model';
|
||||
export * from './jump-list.model';
|
||||
export * from './jump-list-config.model';
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { HttpParams } from '@angular/common/http';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
|
||||
import { ApiService } from './api.service';
|
||||
import {
|
||||
HWClan, HWClanList, HWClanListConfig, HWClanListFilters, HWClanPageData
|
||||
} from 'src/app/core/models';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class HWClanService {
|
||||
constructor(
|
||||
private apiService: ApiService
|
||||
) { }
|
||||
|
||||
query(config: HWClanListConfig): Observable<HWClanList> {
|
||||
// Convert any filters over to Angular's URLSearchParams
|
||||
const params: HWClanListFilters = {} as HWClanListFilters;
|
||||
Object.assign(params, config.filters);
|
||||
return this.apiService
|
||||
.get(
|
||||
'/clans',
|
||||
new HttpParams({ fromObject: <{
|
||||
[param: string]: string | number | boolean | readonly (string | number | boolean)[];
|
||||
}>params })
|
||||
);
|
||||
}
|
||||
|
||||
get(id: string): Observable<HWClanPageData> {
|
||||
return this.apiService.get(`/clans/${id}`);
|
||||
}
|
||||
|
||||
getAll(): Observable<Array<HWClan>> {
|
||||
return this.apiService.get('/clans').pipe(map(data => data.clans));
|
||||
}
|
||||
|
||||
create(clan: HWClan): Observable<HWClan> {
|
||||
return this.apiService.post('/clans/', { clan: clan }).pipe(map(data => data.clan));
|
||||
}
|
||||
|
||||
update(clan: HWClan): Observable<HWClan> {
|
||||
return this.apiService.put(`/clans/${clan.id}`, { clan: clan }).pipe(map(data => data.clan));
|
||||
}
|
||||
|
||||
destroy(id: string): Observable<boolean> {
|
||||
return this.apiService.delete(`/clans/${id}`).pipe(map(data => data.deleted));
|
||||
}
|
||||
|
||||
save(clan: HWClan): Observable<HWClan> {
|
||||
// If we're updating an existing clan
|
||||
if (clan.id) {
|
||||
return this.apiService.put(`/clans/${clan.id}`, { clan: clan }).pipe(map(data => data.clan));
|
||||
// Otherwise, create a new clan
|
||||
} else {
|
||||
return this.apiService.post('/clans/', { clan: clan }).pipe(map(data => data.clan));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { HttpParams } from '@angular/common/http';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
|
||||
import { ApiService } from './api.service';
|
||||
import {
|
||||
HWClan, HWClanList, HWClanListConfig, HWClanListFilters, HWClanPageData
|
||||
} from 'src/app/core/models';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class HWClanService {
|
||||
constructor(
|
||||
private apiService: ApiService
|
||||
) { }
|
||||
|
||||
query(config: HWClanListConfig): Observable<HWClanList> {
|
||||
// Convert any filters over to Angular's URLSearchParams
|
||||
const params: HWClanListFilters = {} as HWClanListFilters;
|
||||
Object.assign(params, config.filters);
|
||||
return this.apiService
|
||||
.get(
|
||||
'/clans',
|
||||
new HttpParams({ fromObject: <{
|
||||
[param: string]: string | number | boolean | readonly (string | number | boolean)[];
|
||||
}>params })
|
||||
);
|
||||
}
|
||||
|
||||
get(id: string): Observable<HWClanPageData> {
|
||||
return this.apiService.get(`/clans/${id}`);
|
||||
}
|
||||
|
||||
getAll(): Observable<Array<HWClan>> {
|
||||
return this.apiService.get('/clans').pipe(map(data => data.clans));
|
||||
}
|
||||
|
||||
create(clan: HWClan): Observable<HWClan> {
|
||||
return this.apiService.post('/clans/', { clan: clan }).pipe(map(data => data.clan));
|
||||
}
|
||||
|
||||
update(clan: HWClan): Observable<HWClan> {
|
||||
return this.apiService.put(`/clans/${clan.id}`, { clan: clan }).pipe(map(data => data.clan));
|
||||
}
|
||||
|
||||
destroy(id: string): Observable<boolean> {
|
||||
return this.apiService.delete(`/clans/${id}`).pipe(map(data => data.deleted));
|
||||
}
|
||||
|
||||
save(clan: HWClan): Observable<HWClan> {
|
||||
// If we're updating an existing clan
|
||||
if (clan.id) {
|
||||
return this.apiService.put(`/clans/${clan.id}`, { clan: clan }).pipe(map(data => data.clan));
|
||||
// Otherwise, create a new clan
|
||||
} else {
|
||||
return this.apiService.post('/clans/', { clan: clan }).pipe(map(data => data.clan));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user