Ajout de composants Hero Wars

This commit is contained in:
2025-11-27 10:35:38 +01:00
parent 8e3bd16b60
commit 8a1c19e011
66 changed files with 4137 additions and 7 deletions
+60
View File
@@ -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));
}
}
}
+60
View File
@@ -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));
}
}
}