Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export class BaseModel {
- constructor (http: Http) {}
- fetch() {
- let params = {
- "includes": this.includes,
- "page": page,
- "filters" : this.filters,
- "order" : this.orderDirection + this.orderColumn
- };
- return this.api.get("/"+this.endpoint, params)
- .map(
- (response: any) => {
- let total = response.meta.total;
- let current = response.meta.current;
- let min = current - 5;
- let max = current + 5;
- if (min < 1) {
- min = 1;
- }
- if (max > total) {
- max = total;
- }
- else if (max < 10) {
- if(total < 10) {
- max = total;
- }else {
- max = 10;
- }
- }
- let pages : number[] = [];
- for (let i = min; i <= max; i++) {
- pages.push(i);
- }
- this.pages = pages;
- return response
- }
- );
- }
- }
- export class User extends BaseModel {
- public id : number;
- public username : string;
- public email : string;
- public password : string;
- public passwordConfirmation : string;
- public details : UserDetail = new UserDetail();
- public type : string;
- public status : string;
- public profileImage : string;
- public profileImageUrl : string;
- public crop : Object = {};
- public lastLogin : string;
- public numberOfLogin : string;
- public joinDate : string;
- public registerType : string = "web";
- public static create(response : any) {
- if (response === undefined || response === null) {
- return response;
- }
- let details = new UserDetail();
- if (response.details) {
- details = UserDetail.create(response.details);
- }
- let user = new User(); //error parameter required
- user.id = response.id;
- user.username = response.username;
- user.email = response.email;
- user.status = response.status;
- user.type = response.type;
- user.details.id = response.details.id;
- user.details = details;
- user.profileImageUrl = response.profile_image_url;
- user.joinDate = response.created_at;
- user.registerType = response.register_type;
- return user;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement