mp-common
Version:
This is XPO MarketPlace common libary
142 lines (126 loc) • 15.4 kB
text/typescript
import { Injectable } from '@angular/core';
import { Headers, Http, Response } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import { AppSettings } from 'app/core/app-settings';
import { User } from '../../shared';
const userLists: User[] = [
{ id: 1, firstName: "Rebecca1", lastName: "Solomon", email: "rebecca.solomon1@pepsi.com", phoneNumber: "0000-000-0001", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 2, firstName: "User22", lastName: "End2", email: "user22@pepsi.com", phoneNumber: "0000-000-0002", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 2, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Admin" }, { divisionId: 11, roleId: 3, divisionName: "Amazon", roleName: "Seller" }] },
{ id: 3, firstName: "User33", lastName: "End3", email: "user33@pepsi.com", phoneNumber: "0000-000-0003", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 4, firstName: "User24", lastName: "End2", email: "user24@pepsi.com", phoneNumber: "0000-000-0004", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 5, firstName: "User35", lastName: "End3", email: "user35@pepsi.com", phoneNumber: "0000-000-0005", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 2, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Admin" }] },
{ id: 6, firstName: "User26", lastName: "End2", email: "user26@pepsi.com", phoneNumber: "0000-000-0006", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 7, firstName: "User37", lastName: "End3", email: "user37@pepsi.com", phoneNumber: "0000-000-0007", roles: [ { divisionId: 11, roleId: 3, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Dispatcher" }] },
{ id: 8, firstName: "User28", lastName: "End2", email: "user28@pepsi.com", phoneNumber: "0000-000-0008", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 9, firstName: "User39", lastName: "End3", email: "user39@pepsi.com", phoneNumber: "0000-000-0009", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 3, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Dispatcher" }] },
{ id: 10, firstName: "User210", lastName: "End2", email: "user210@pepsi.com", phoneNumber: "0000-000-0010", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 11, firstName: "User311", lastName: "End3", email: "user311@pepsi.com", phoneNumber: "0000-000-0011", roles: [ { divisionId: 10, roleId: 1, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Driver" }] },
{ id: 12, firstName: "User212", lastName: "End2", email: "user212@pepsi.com", phoneNumber: "0000-000-0012", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 13, firstName: "User313", lastName: "End3", email: "user313@pepsi.com", phoneNumber: "0000-000-0013", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 14, firstName: "User214", lastName: "End2", email: "user214@pepsi.com", phoneNumber: "0000-000-0014", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 15, firstName: "User315", lastName: "End3", email: "user315@pepsi.com", phoneNumber: "0000-000-0015", roles: [ { divisionId: 11, roleId: 3, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Dispatcher" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 16, firstName: "User216", lastName: "End2", email: "user216@pepsi.com", phoneNumber: "0000-000-0016", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 3, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Dispatcher" }] },
{ id: 17, firstName: "User317", lastName: "End3", email: "user317@pepsi.com", phoneNumber: "0000-000-0017", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 18, firstName: "User218", lastName: "End2", email: "user218@pepsi.com", phoneNumber: "0000-000-0018", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 19, firstName: "User319", lastName: "End3", email: "user319@pepsi.com", phoneNumber: "0000-000-0019", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 20, firstName: "User220", lastName: "End2", email: "user220@pepsi.com", phoneNumber: "0000-000-0020", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 21, firstName: "User221", lastName: "End2", email: "user221@pepsi.com", phoneNumber: "0000-000-0021", roles: [ { divisionId: 10, roleId: 1, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Driver" }] },
{ id: 22, firstName: "User322", lastName: "End3", email: "user322@pepsi.com", phoneNumber: "0000-000-0022", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 23, firstName: "User223", lastName: "End2", email: "user223@pepsi.com", phoneNumber: "0000-000-0023", roles: [ { divisionId: 10, roleId: 1, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Driver" }] },
{ id: 24, firstName: "User324", lastName: "End3", email: "user324@pepsi.com", phoneNumber: "0000-000-0024", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 25, firstName: "User225", lastName: "End2", email: "user225@pepsi.com", phoneNumber: "0000-000-0025", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 26, firstName: "User126", lastName: "End3", email: "user326@pepsi.com", phoneNumber: "0000-000-0026", roles: [ { divisionId: 10, roleId: 3, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Dispatcher" }] },
{ id: 27, firstName: "User027", lastName: "End2", email: "user227@pepsi.com", phoneNumber: "0000-000-0027", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 28, firstName: "User128", lastName: "End3", email: "user328@pepsi.com", phoneNumber: "0000-000-0028", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 29, firstName: "User229", lastName: "End2", email: "user229@pepsi.com", phoneNumber: "0000-000-0029", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 3, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Dispatcher" }] },
{ id: 30, firstName: "User330", lastName: "End3", email: "user330@pepsi.com", phoneNumber: "0000-000-0030", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 31, firstName: "User331", lastName: "End3", email: "user331@pepsi.com", phoneNumber: "0000-000-0031", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 32, firstName: "User232", lastName: "End2", email: "user232@pepsi.com", phoneNumber: "0000-000-0032", roles: [ { divisionId: 10, roleId: 1, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Driver" }] },
{ id: 33, firstName: "User333", lastName: "End3", email: "user333@pepsi.com", phoneNumber: "0000-000-0033", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 34, firstName: "User234", lastName: "End2", email: "user234@pepsi.com", phoneNumber: "0000-000-0034", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 35, firstName: "User135", lastName: "End3", email: "user335@pepsi.com", phoneNumber: "0000-000-0035", roles: [ { divisionId: 10, roleId: 3, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Dispatcher" }] },
{ id: 36, firstName: "User036", lastName: "End2", email: "user236@pepsi.com", phoneNumber: "0000-000-0036", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 3, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Dispatcher" }] },
{ id: 37, firstName: "User137", lastName: "End3", email: "user337@pepsi.com", phoneNumber: "0000-000-0037", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 38, firstName: "User238", lastName: "End2", email: "user238@pepsi.com", phoneNumber: "0000-000-0038", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 39, firstName: "User339", lastName: "End3", email: "user339@pepsi.com", phoneNumber: "0000-000-0039", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 40, firstName: "User340", lastName: "End3", email: "user340@pepsi.com", phoneNumber: "0000-000-0040", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 41, firstName: "User241", lastName: "End2", email: "user241@pepsi.com", phoneNumber: "0000-000-0041", roles: [ { divisionId: 10, roleId: 1, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Driver" }] },
{ id: 42, firstName: "User342", lastName: "End3", email: "user342@pepsi.com", phoneNumber: "0000-000-0042", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 43, firstName: "User243", lastName: "End2", email: "user243@pepsi.com", phoneNumber: "0000-000-0043", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 44, firstName: "User144", lastName: "End3", email: "user344@pepsi.com", phoneNumber: "0000-000-0044", roles: [ { divisionId: 10, roleId: 3, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Dispatcher" }] },
{ id: 45, firstName: "User045", lastName: "End2", email: "user245@pepsi.com", phoneNumber: "0000-000-0045", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 3, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Dispatcher" }] },
{ id: 46, firstName: "User146", lastName: "End3", email: "user346@pepsi.com", phoneNumber: "0000-000-0046", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 47, firstName: "User247", lastName: "End2", email: "user247@pepsi.com", phoneNumber: "0000-000-0047", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }, { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 48, firstName: "User348", lastName: "End3", email: "user348@pepsi.com", phoneNumber: "0000-000-0048", roles: [ { divisionId: 10, roleId: 2, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Admin" }] },
{ id: 49, firstName: "User349", lastName: "End3", email: "user349@pepsi.com", phoneNumber: "0000-000-0049", roles: [ { divisionId: 11, roleId: 1, divisionName: "Pepsi Beverage Company(1-1-PEPSSTM2)", roleName: "Driver" }] },
{ id: 50, firstName: "User250", lastName: "End2", email: "user250@pepsi.com", phoneNumber: "0000-000-0050", roles: [ { divisionId: 10, roleId: 1, divisionName: "Pepsi Co. (0-1-PEPSI)", roleName: "Driver" }] },
];
@Injectable()
export class UserService {
editUserInfo: User;
setEditUserInfo(editUserInfo: User) {
this.editUserInfo = editUserInfo;
}
getEditUserInfo(): Promise<User> {
return new Promise((resolve, reject) => {
resolve(this.editUserInfo);
});
}
constructor(private http: Http, private appSettings: AppSettings) { }
get(id: string): Promise<User> {
let url = this.getUri(`${id}`);
return new Promise((resolve, reject) => {
});
}
/* Need to work on service to be called. This is just a stub */
getUsers(): Promise<Array<User>> {
let url = this.getUri(`query for user lists`);
return new Promise((resolve, reject) => {
resolve(userLists);
});
}
saveUser(user: User): Promise<String> {
let url = this.getUri(`query to save user`);
return new Promise((resolve, reject) => {
resolve('user saved');
});
}
getEditDetails(userid): Promise<User> {
let editUserInfo: User;
for (let userInfo of userLists) {
if (userInfo.id == userid) {
editUserInfo = new User(userInfo.id, userInfo.firstName, userInfo.lastName, userInfo.email, userInfo.phoneNumber, userInfo.roles);
}
}
return new Promise((resolve, reject) => {
resolve(editUserInfo);
});
}
search(): Promise<Array<User>> {
let url = this.getUri('query');
return this.http
.post(url, { headers: this.getHeaders() })
.toPromise()
.then((response) => {
return response.json().Items as User[];
})
.catch(this.handleError);
}
// Constructs the headers collection to use
private getHeaders(obj?: any) {
const headers = new Headers();
headers.append('Content-Type', 'application/json');
for (let h in obj || {}) {
headers.append(h, obj[ h ]);
}
return headers;
}
// Constructrs the uri to use for the endpoint
private getUri(endpoint?: string): string {
return this.appSettings.apiUrl + 'Users/' + endpoint;
}
private handleError(error: any): Promise<any> {
console.error('An error occurred', error);
return Promise.reject(error.message || error);
}
}