Files
myprojplanet_vite/src/model/UserStore.ts

200 lines
3.9 KiB
TypeScript
Raw Normal View History

2021-08-31 18:09:59 +02:00
import { IToken } from '@model/other'
import { ICart, IOrderCart, IShareWithUs } from '@src/model/Products'
import { IAccount, ICircuit, ICircuitList, IGallery, IImgGallery, IMyCircuit } from '@model/GlobalStore'
2021-08-31 18:09:59 +02:00
const enum ESexType {
None = 0,
Male = 1,
Female = 2,
}
export interface IFriends {
2022-02-03 00:33:05 +01:00
username: string
date?: Date
}
2022-02-03 00:33:05 +01:00
export interface IMyGroup {
_id: string
2022-02-03 00:33:05 +01:00
groupname: string
title?: string
descr?: string
2022-02-04 23:48:53 +01:00
photos: IImgGallery[]
visibility?: number[]
2022-02-03 00:33:05 +01:00
date_created?: Date
date_updated?: Date
2022-02-03 00:33:05 +01:00
admins?: IFriends[]
req_users?: IFriends[]
blocked?: boolean
website?: string
link_telegram?: string
username_who_block?: string
date_blocked?: Date
2022-08-09 17:31:49 +02:00
createdBy?: string
2022-08-17 00:36:30 +02:00
circuits_list?: ICircuitList[]
2022-02-03 00:33:05 +01:00
}
export interface ICalcStat {
numUsersReg: number
numByTab: {}
}
2022-07-21 00:20:48 +02:00
export interface IUserNotifType {
_id: number
dir: number
value: number
}
2021-08-31 18:09:59 +02:00
export interface IUserProfile {
img?: string
nationality?: string
intcode_cell?: string
iso2_cell?: string
cell?: string
country_pay?: string
email_paypal?: string
payeer_id?: string
advcash_id?: string
revolut?: string
link_payment?: string
note_payment?: string
username_telegram?: string
2022-01-23 23:25:19 +01:00
website?: string
2021-08-31 18:09:59 +02:00
teleg_id?: number
teleg_checkcode?: number
paymenttypes?: IPaymentType[]
manage_telegram?: boolean
resplist?: any
workerslist?: any
2021-12-29 18:26:41 +01:00
dateofbirth?: Date|null
born_city_id?: number
born_city_str?: string
born_province?: string
born_country?: string
my_dream?: string
saw_and_accepted?: boolean
2021-08-31 18:09:59 +02:00
saw_zoom_presentation?: boolean
ask_zoom_partecipato?: boolean
qualified?: boolean
qualified_2invitati?: boolean
special_req?: boolean
sex?: ESexType
biografia?: string
2021-08-31 18:09:59 +02:00
socio?: boolean
socioresidente?: boolean
consiglio?: boolean
myshares: IShareWithUs[]
friends: IFriends[]
req_friends: IFriends[]
2022-02-04 23:48:53 +01:00
mygroups: IMyGroup[]
mycircuits: IMyCircuit[]
manage_mygroups: IMyGroup[]
2022-07-21 00:20:48 +02:00
notifs: IUserNotifType[]
notif_idCities: number[]
notif_provinces: string[]
notif_regions: string[]
notif_sectors: number[]
notif_sector_goods: number[]
// in memory
asked_friends: any[]
2022-02-03 00:33:05 +01:00
asked_groups: any[]
refused_groups: any[]
list_usersgroup?: IFriends[]
2022-08-26 03:32:50 +02:00
asked_circuits: any[]
refused_circuits: any[]
manage_mycircuits: ICircuit[]
2022-09-03 13:06:35 +02:00
useraccounts: IAccount[]
2021-08-31 18:09:59 +02:00
}
export interface IPaymentType {
key: string
label: string
}
export interface IUserAport {
username: string
profile?: IUserProfile
}
2021-08-31 18:09:59 +02:00
export interface IUserFields {
_id: string
idapp?: string
2021-08-31 18:09:59 +02:00
ind_order?: number
email?: string
username: string
name: string
surname: string
password?: string
ipaddr?: string
perm?: number
verified_email?: boolean
2021-12-29 18:26:41 +01:00
verified_by_aportador?: boolean
reported?: boolean
username_who_report?: string
date_report?: Date
notask_verif?: boolean
trust_modified?: Date
2021-08-31 18:09:59 +02:00
aportador_solidario?: string
useraport?: IUserAport
2021-08-31 18:09:59 +02:00
made_gift?: boolean
tokens?: IToken[]
lasttimeonline?: Date
profile: IUserProfile
qualified?: boolean
numNaviEntrato?: number
numinvitati?: number
numinvitatiattivi?: number
cart?: ICart
ordercart?: IOrderCart
calcstat?: ICalcStat|null
2021-08-31 18:09:59 +02:00
}
2022-07-10 01:24:54 +02:00
export interface IUserExport {
_id: string
email?: string
username: string
username_telegram: string
firstname_telegram: string
lastname_telegram: string
}
2021-08-31 18:09:59 +02:00
/*
password?: string
lang
*/
export interface IPerm {
_id: number
label: string
}
export interface IUserState {
my: IUserFields
lang: string
repeatPassword?: string
categorySel?: string
tokenforgot?: string
servercode?: number
msg?: string
resStatus?: number
x_auth_token: string
isLogged?: boolean
isAdmin?: boolean
isManager?: boolean
isDepartment?: boolean
isFacilitatore?: boolean
2021-08-31 18:09:59 +02:00
isZoomeri?: boolean
isTratuttrici?: boolean
isEditor?: boolean
isTeacher?: boolean
usersList?: IUserFields[]
countusers?: number
lastparamquery?: any
updateTables?: boolean
2021-08-31 18:09:59 +02:00
}