add church profile.
ci-cd-vm / ci-cd (push) Successful in 2m31s

This commit is contained in:
Chris Chen
2026-06-24 08:21:31 -07:00
parent 99585a1c0e
commit e88ea7917f
29 changed files with 1240 additions and 72 deletions
@@ -0,0 +1,42 @@
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApiConfigService } from '../../../core/services/api-config.service';
import {
SiteSettingDto, UpdateSiteSettingRequest,
NotificationSettingDto, UpdateNotificationSettingRequest,
TestEmailRequest, TestLineRequest, NotificationResult,
} from '../models/settings.model';
@Injectable({ providedIn: 'root' })
export class SettingsApiService {
private readonly endpoint: string;
constructor(private http: HttpClient, apiConfig: ApiConfigService) {
this.endpoint = apiConfig.getApiUrl('settings');
}
getSite(): Observable<SiteSettingDto> {
return this.http.get<SiteSettingDto>(`${this.endpoint}/site`);
}
updateSite(request: UpdateSiteSettingRequest): Observable<void> {
return this.http.put<void>(`${this.endpoint}/site`, request);
}
getNotification(): Observable<NotificationSettingDto> {
return this.http.get<NotificationSettingDto>(`${this.endpoint}/notification`);
}
updateNotification(request: UpdateNotificationSettingRequest): Observable<void> {
return this.http.put<void>(`${this.endpoint}/notification`, request);
}
testEmail(request: TestEmailRequest): Observable<NotificationResult> {
return this.http.post<NotificationResult>(`${this.endpoint}/notification/test-email`, request);
}
testLine(request: TestLineRequest): Observable<NotificationResult> {
return this.http.post<NotificationResult>(`${this.endpoint}/notification/test-line`, request);
}
}