generator-upendodnn
Version:
Scaffolds DNN extensions, including Modules (Webforms, SPA, and MVC), Persona Bar, Skin Object, Library, Scheduler, and Hotcakes Commerce projects (based on the generator built by Matt Rutledge).
49 lines (40 loc) • 1.54 kB
text/typescript
import { Injectable } from '@angular/core';
import { Observable, of } from 'rxjs';
import { User } from '../interfaces/User';
import { HttpClient } from '@angular/common/http';
import { catchError, tap } from 'rxjs/operators';
({
providedIn: 'root'
})
export class UsersService {
private baseUrl = 'DesktopModules/<%= friendlyName %>/API/User/'; // URL to web api
constructor(private http: HttpClient) {}
/** GET users from the server */
getUsers(): Observable<User[]> {
const url = this.baseUrl + "GetList";
return this.http.get<User[]>(url);
}
/**
* Handle Http operation that failed.
* Let the app continue.
*
* @param operation - name of the operation that failed
* @param result - optional value to return as the observable result
*/
private handleError<T>(operation = 'operation', result?: T) {
return (error: any): Observable<T> => {
console.info("Entro handler error");
// TODO: send the error to remote logging infrastructure
console.error(error); // log to console instead
// TODO: better job of transforming error for user consumption
this.log(`${operation} failed: ${error.message}`);
// Let the app keep running by returning an empty result.
return of(result as T);
};
}
/** Log a HeroService message with the MessageService */
private log(message: string) {
// this.messageService.add(`HeroService: ${message}`);
console.log(message);
}
}