Files
social-media/src/models/myUserModel.js
2024-07-22 00:46:17 -04:00

48 lines
1.4 KiB
JavaScript

import UserTransactionsModel from "@/models/userTransactionsModel.js";
import SocialNetworksModel from "@/models/socialNetworksModel.js";
import ProfileColorsModel from "@/models/profileColorsModel.js";
import StoredDataUrlsModel from "@/models/storedDataUrlsModel.js";
export default class MyUserModel
{
id = "";
creatorAlias = "";
alias = null;
firstName = "";
lastName = "";
userName = "";
occupation = "";
email = "";
phoneNumber = "";
birthDate = "";
country = "";
city = "";
address = "";
about = "";
description = "";
socialNetworks = new SocialNetworksModel();
profileColors = new ProfileColorsModel();
storedDataUrls = new StoredDataUrlsModel();
totalBalance = "";
userTransactions = [];
static createFromApiResult(apiResult){
const userModel = Object.assign(new MyUserModel(), apiResult);
const notMapperTransaction = Object.freeze(userModel.userTransactions);
userModel.userTransactions = [];
for (const transaction of notMapperTransaction) {
userModel.userTransactions.push(UserTransactionsModel.createFromApiResult(transaction))
}
return userModel;
}
static getDefaultUser(){
const defaultUser = new MyUserModel();
defaultUser.userName = "Anonyme"
return defaultUser;
}
}