Files
salvato.newfreeplanet/src/model/GlobalStore.ts
2022-11-11 18:16:28 +01:00

1031 lines
19 KiB
TypeScript
Executable File

import { IAction } from '@src/model/Projects'
import { IFriends, IMyGroup, IPaymentType } from '@src/model/UserStore'
import {
IDepartment, IProducer, IShareWithUs, IStorehouse,
} from '@src/model/Products'
import { IUserFields, IUserProfile } from '@src/model/UserStore'
export interface IPost {
title: string
}
export interface ICheckUser {
verified_email?: boolean
teleg_id?: number
profile?: IUserProfile
}
export interface INotData {
num_reg?: number
online_today?: number
num_passeggeri?: number
num_imbarcati?: number
email_non_verif?: number
num_teleg_attivo?: number
num_autorizzare?: number
num_autorizzati?: number
num_teleg_pending?: number
num_part_zoom?: number
num_part_accepted?: number
num_modalita_pagamento?: number
arr_nations?: string
lastsreg?: IUserFields[]
checkuser?: ICheckUser | any
numreg_untilday?: number
reg_daily?: string
imbarcati_daily?: string
imbarcati_weekly?: string
reg_weekly?: string
}
export interface IConnData {
downloading_server: number
downloading_indexeddb: number
uploading_server: number
uploading_indexeddb: number
}
export interface ICfgServer {
chiave: string
idapp: string
userId: string
valore: string
}
export interface ICfgData {
_id?: string
lang?: string
token?: string
userId?: string
}
export interface ITemplEmail {
_id?: string
subject?: string
content?: string
options?: ISettings[]
}
export interface ISettings {
_id?: string
idapp?: string
key?: string
type?: number
value_str?: string
value_date?: Date,
value_num?: number
value_bool?: boolean
serv?: boolean
crypted?: boolean
}
export interface ITeachUname {
username?: string
}
export interface IInternalPage {
path?: string
}
export interface IResp {
_id?: string
username?: string
name?: string
surname?: string
}
export interface IMyBot {
_id?: string
page?: number
index?: number
riga?: number
active?: boolean
main?: boolean
label?: string
type?: number
value?: string
visibility?: number
date_updated?: Date
}
export interface IMyElem {
_id?: string
type?: number
path?: string
title?: string
container?: string
container2?: string
container3?: string
parambool?: boolean
parambool2?: boolean
parambool3?: boolean
number?: number
imgback?: string
ratio?: string
containerHtml?: string
size?: string
order?: number
width?: number
height?: number
heightimg?: number
widthimg?: number
link?: string
onlyif_logged?: boolean
active?: boolean
class?: string
styleadd?: string
list?: IImgGallery[]
}
export interface IMyPage {
_id?: string
author_username?: string
lang?: string
title?: string
subtitle?: string
icon?: string
iconsize?: string
order?: number
path?: string
keywords?: string
description?: string
img1?: string
content?: string
video1?: string
ratio1?: string
img2?: string
content2?: string
video2?: string
ratio2?: string
img3?: string
content3?: string
video3?: string
ratio3?: string
content4?: string
active?: boolean
inmenu?: boolean
color?: string
onlyif_logged?: boolean
only_residenti?: boolean
only_consiglio?: boolean
submenu?: boolean
l_par?: number,
l_child?: number,
infooter?: boolean
internalpage?: boolean
extraclass?: string
}
export interface IOption {
options: number
}
export interface ISites {
_id?: string
attiva?: boolean
idapp?: string
name?: string
adminemail?: string
manageremail?: string
replyTo?: string
host?: string
host_test?: string
portapp?: string
dir?: string
email_from?: string
email_pwd?: string
telegram_key?: string
telegram_bot_name?: string
telegram_key_test?: string
telegram_bot_name_test?: string
telegram_support_chat?: string
pathreg_add?: string
confsite: IOption
}
export interface INewsToSent {
_id: string
idapp?: string
label?: string
templemail_str?: string
numemail_tot?: number
numemail_sent?: number
datetoSent?: Date
datestartJob?: Date
datefinishJob?: Date
lastemailsent_Job?: Date
starting_job?: boolean
finish_job?: boolean
error_job?: string
}
export interface ICalZoom {
lang?: string
title?: string
typeconf?: string
date_start?: string
date_end?: Date
id_conf_zoom?: number
note?: string
}
export interface IGroup {
_id?: any
descr?: string
}
export interface IMailinglist {
name?: string
surname?: string
email: string
lastid_newstosent?: string
}
export interface IDiscipline {
typol_code?: string
order?: number
label?: string
description?: string
linkpage?: string
color?: string
icon?: string
img_small?: string
showinhome?: boolean
showinnewsletter?: boolean
img?: string
teachers?: ITeachUname[]
}
export interface ITestp1 {
contatore: number
mioarray: ICfgServer[]
}
export type StateConnection = 'online' | 'offline'
export interface IConfig {
_id: string,
key?: string,
value: string
}
export interface IMetaTags {
title?: string
keywords?: string
description?: string
}
export interface ICircuitState {
listcircuits: ICircuit[]
}
export interface IGlobalState {
finishLoading: boolean
conta: number
wasAlreadySubOnDb: boolean
wasAlreadySubscribed: boolean
isLoginPage: boolean
layoutNeeded: boolean
mobileMode: boolean
menuCollapse: boolean
leftDrawerOpen: boolean
rightDrawerOpen: boolean
rightNotifOpen: boolean
rightCoinsOpen: boolean
rightCartOpen: boolean
category: string
stateConnection: string
serverError: boolean
serverMsgError: any
networkDataReceived: boolean
clickcmd?: string
cfgServer: ICfgServer[]
testp1: ITestp1
connData: IConnData
posts: IPost[]
menulinks: {}
listatodo: IMenuList[]
arrConfig: IConfig[]
lastaction: IAction
serv_settings: ISettings[],
settings: ISettings[],
disciplines: IDiscipline[],
paymenttypes: IPaymentType[],
newstosent: INewsToSent[],
gallery: IGallery[],
mypage: IMyPage[],
myelems: IMyElem[],
templemail: ITemplEmail[],
opzemail: ISettings[],
mailinglist: IMailinglist[],
calzoom: ICalZoom[],
producers: IProducer[],
storehouses: IStorehouse[],
departments: IDepartment[],
sharewithus: IShareWithUs[],
groups: IGroup[],
resps: IResp[],
workers: IResp[],
autoplaydisc: number
TIMER: any
TIMEOUT: any
CUT: any
TIMER_STATE: number
URL_RITORNA: string
URL_RESTORE: string
serverHost?: string
levels: ILevel[],
adtypes: IAdType[],
adtypegoods: IAdType[],
skills: ISkill[],
goods: IGood[],
// subSkills: ISubSkill[],
statusSkills: IStatusSkill[],
sectors: ISector[],
sectorgoods: ISectorGood[],
catgrps: ICatGrp[],
provinces: IProvince[],
datastat?: INotData
site?: ISites,
mygroups: IMyGroup[],
}
export interface IMenuList {
nametranslate: string
description?: string
idelem?: string
icon?: string
name?: string
level_parent?: number
level_child?: number
urlroute?: string
routes2?: IMenuList[]
}
export interface IPathFile {
path: string
file: string
}
export interface IListRoutes {
active?: boolean
order: number
path: string
name: string
subtitle?: string
lang?: string
materialIcon?: string
iconsize?: string
component?: any
children?: any
reqauth?: boolean
isseparator?: boolean
inmenu?: boolean
solotitle?: boolean
infooter?: boolean
submenu?: boolean
noroute?: boolean
onlyAdmin?: boolean
onlyif_logged?: boolean
onlyManager?: boolean
onlySocioResidente?: boolean
onlyConsiglio?: boolean
onlyNotSoci?: boolean
onlyDepartment?: boolean
onlyFacilitatore?: boolean
color?: string
onlyEditor?: boolean
extraclass?: string
meta?: any
idelem?: string
urlroute?: string
img?: string
// ------------------------
faIcon?: string
text?: string
routes2?: IListRoutes[]
level_parent?: number
level_child?: number
separator?: boolean
}
export interface IOperators {
username: string
name: string
surname: string
email?: string
qualification?: string
disciplines?: string
certifications?: string
img?: string
cell?: string
usertelegram?: string
paginaweb?: string
paginafb?: string
intro?: string
info?: string
vario?: string
tab?: string
}
export interface IPreloadImages {
imgname: string
alt: string
mobile: boolean
}
export interface ILang {
label: string
icon: string
value: string
image: string
short: string
}
export interface IAllLang {
es?: string
enUs?: string
fr?: string
de?: string
it?: string
}
export interface ITimeLineEntry {
date: string
title: string
description: IAllLang
description2?: IAllLang
description3?: IAllLang
icon: string
image: string
image2?: string
image3?: string
image4?: string
video?: string
side: string
link_url?: string
link_url_lang?: IAllLang
link_text?: IAllLang
ingallery?: boolean
}
export interface ITimeLineMain {
titlemain: IAllLang | any
body: ITimeLineEntry[]
}
export interface IImgGallery {
_id?: string
imagefile: string
// order?: number
alt?: string
description?: string
}
export interface IGallery {
_id?: string
author_username?: string
title?: string
directory?: string
list?: IImgGallery[]
}
export interface IColl {
title: IAllLang | any
date?: string
subtitle?: IAllLang | any
img: string
img2?: string
linkagg?: string
linkagg_type?: number
width?: number
height?: number
ingallery?: boolean
inexibitions?: boolean
}
export interface ICollaborations {
withwhom_title: IAllLang | any
list: IColl[]
}
export interface IParamDialog {
param1?: any
param2?: any
param3?: any
}
export interface IFunctionality {
PWA?: boolean
ENABLE_REGISTRATION?: boolean
ENABLE_REG_BY_BOT?: boolean
ENABLE_REG_NEED_TELEGRAM?: boolean
SHOW_REG_BUTTON?: boolean
SHOW_PROFILE?: boolean
SHOW_USER_MENU?: boolean
SHOW_IF_IS_SERVER_CONNECTION?: boolean
ENABLE_TODOS_LOADING?: boolean
ENABLE_PROJECTS_LOADING?: boolean
ENABLE_ECOMMERCE?: boolean
SHOW_NEWSLETTER?: boolean
SHOW_ONLY_POLICY?: boolean
SHOW_MESSAGES?: boolean
SHOW_NOTIF?: boolean
SHOW_COINS?: boolean
BOOKING_EVENTS?: boolean
ENABLE_REG_AYNI?: boolean
ENABLE_REG_CNM?: boolean
ENABLE_REG_ISP?: boolean
SHOW_NAMESURNAME?: boolean
ENABLE_GROUPS?: boolean
ENABLE_CIRCUITS?: boolean
SHOW_COMPETENZE?: boolean
ENABLE_VIEW_GROUPS?: boolean
ENABLE_VIEW_USERS?: boolean
ENABLE_VIEW_PROFILE?: boolean
ENABLE_VIEW_BOOKINGS?: boolean
}
export interface IParLookup {
lk_tab?: string,
af_objId_tab?: string,
lk_LF?: string,
lk_FF?: string,
lk_as?: string,
lk_proj?: string,
}
export interface IParamsPickup {
table: string
search: string
filter: string
}
export interface IParamsQuery {
table: string
startRow: number
endRow: number
filter: string
filterand: string
sortBy: string
descending: number
userId: string
codeId?: string
filtersearch: string
filtersearch2: string
filtercustom: string
filterextra?: string
filter_gte: string
lookup1?: IParLookup
lookup2?: IParLookup
lookup3?: IParLookup
lookup4?: IParLookup
options?: number
extrapar?: string
}
export interface ISpecialField {
findsubkey?: any
paramtosetsubkey?: any
paramdef?: any
defaultnewrec?: object
}
export interface IColGridTable {
name: string
subfield?: string
required?: boolean
label?: string
label_trans?: string
visibleif?: number
visib_field?: string
visib_value?: any
align?: string
field?: string
sortable?: boolean
visulabel?: boolean
disable?: boolean
titlepopupedit?: string
visible?: boolean
icon?: string
action?: any
askaction?: string
foredit?: boolean
isInModif?: boolean
fieldtype?: number
fieldtype_real?: number
field_outtype?: number
noshowlabel?: boolean
tipovisu?: number
link?: string
jointable?: string
addall?: boolean
addnone?: boolean
filter?: any
resultjoin?: string[]
tablesel?: string
notsave?: boolean
isadvanced_field?: boolean
showWhen?: number
maxlength?: number
minlength?: number
allowchar?: number
filter_table?: string
filter_field?: string
remote_table?: string
remote_key?: string
remote_field?: string
field_extra1?: string
subfield_extra1?: string
allowNewValue?: boolean
showpicprofile_ifnotset?: boolean
extrafield?: string
}
export interface ITableRec {
label: string
value: string
columns: IColGridTable[]
colkey: string
collabel: string
colicon?: string
onlyAdmin?: boolean
noshow: boolean
remote?: boolean
}
export interface ISearchList {
label: string
table: string
key: string
arrvalue: any[]
value: any
type: number
filter: any
param1?: any
useinput: boolean
notinsearch?: boolean
addall?: boolean
showcount?: boolean
tablesel?: string
icon?: string
filteradv?: boolean
filter_extra?: object
}
export interface IFilter {
label: string
value: string
hide?: boolean
default?: boolean
}
export interface IDataPass {
id: string
table: string
fieldsvalue: any
}
export interface IMsgGlobParam {
typemsg: number,
title?: string,
content?: string,
openUrl?: string,
openUrl2?: string,
tag?: string,
actions?: any[],
cmd?: number
usernameOrig?: string
usernameDest?: string
groupnameDest?: string
text?: string
typesend: number
sendreally?: boolean
}
export interface IDataToSet {
id?: string | null
username?: string
table?: string
fieldsvalue?: any
unset?: any,
notifBot?: any | null
tipomsg?: number
invitante_username?: string
ind_order?: any
num_tess?: number
data?: any
myfunc?: any
inviaemail?: any
}
export interface INewsState {
lastnewstosent: INewsToSent | null
nextnewstosent: INewsToSent | null
totemail: number
totsubscribed: number
totunsubscribed: number
totsentlastid: number
}
export const DefaultNewsState: INewsState = {
lastnewstosent: null,
nextnewstosent: null,
totemail: 0,
totsubscribed: 0,
totunsubscribed: 0,
totsentlastid: 0,
}
export interface IPagination {
sortBy: string,
descending: boolean
rowsNumber: number
page: number,
rowsPerPage: number // specifying this determines pagination is server-side
}
export interface ISkill {
_id: number
descr: string
idSector: number[]
icon?: string
img?: string
}
export interface IGood {
_id: number
descr: string
idSectorGood: number[]
icon?: string
img?: string
}
/*
export interface ISubSkill {
_id: number
descr: string
idSkill: number
icon?: string
img?: string
}
*/
export interface IStatusSkill {
_id: number
descr: string
color: string
icon: string
theme: string
}
export interface ISector {
_id: number
descr: string
idSector?: number
icon?: string
img?: string
color: string
theme: string
}
export interface ISectorGood {
_id: number
descr: string
idSectorGood?: number
icon?: string
img?: string
color: string
theme: string
}
export interface ICatGrp {
_id: number
descr: string
idCatGrp?: number
icon?: string
img?: string
color: string
theme: string
}
export interface ILevel {
_id: number
descr: string
color: string
theme: string
years_of_exp: number
}
export interface IAdType {
_id: number
descr: string
}
export interface ICity {
_id: number
istat: string
comune: string
prov: string
}
export interface IProvince {
_id: number
prov: string
reg: string
descr: string
link_grp: string
}
export interface IMySkill extends IMyMain {
_id: number
idSector: number
idSkill: number
// idSubSkill: number[]
idStatusSkill: number[]
idContribType: string[]
idCity: number[]
photos: IGallery[]
NumLevel: number
adType: number
note: string
// **ADDFIELD_MYSKILL
website: string
descr: string
date_created?: Date,
date_updated?: Date,
username?: string
}
export interface IMyMain {
pub_to_share?: number
}
export interface IMyGoods extends IMyMain {
_id: number
idSector: number
idSkill: number
idShipping: number[]
idStatusSkill: number[]
idContribType: string[]
otherfilters: number[]
idCity: number[]
photos: IGallery[]
NumLevel: number
adType: number
note: string
// **ADDFIELD_MYSKILL
website: string
descr: string
date_created?: Date,
date_updated?: Date,
}
export interface IMyBacheca extends IMyMain {
_id: number
idSector: number
idSkill: number
// idSubSkill: number[]
idStatusSkill: number[]
idContribType: string[]
dateTimeStart: Date
dateTimeEnd: Date
idCity: number[]
photos: IGallery[]
NumLevel: number
adType: number
note: string
// **ADDFIELD_MYBACHECAS
website: string
descr: string
date_created?: Date,
date_updated?: Date,
}
export interface IAccomodation {
type: number // Letto matrimoniale / letto singolo / divano-letto / almaca / a terra sul tappeto (per sacco a pelo)
location: number // in camera privata / in camera condivisa / in soggiorno / in camper / in tenda / in giardino / all'aperto
num: number
}
export interface IMyHosp extends IMyMain {
_id: number
visibile: boolean
typeHosp: number
numMaxPeopleHosp: number
accomodation: IAccomodation[]
photos: IGallery[]
preferences: number[]
idContribType: string[]
idCity: number[]
descr: string
note: string
website: string
date_created?: Date,
date_updated?: Date,
}
export interface ICircuitList {
_id: string,
inscription_date?: Date
}
export interface IMyCircuit {
_id: string
circuitname: string
date: Date
}
export interface ISendCoin {
circuitname: string
qty: number
dest: string
causal: string
symbol: string
}
export interface ICircuit {
_id: string
groupnameId: string
name: string
path: string
subname: string
longdescr: string
systemUserDescr: string
systemUserId: string
totCircolante: number
totTransato: number
// nome_valuta: string
symbol: string
color: string
abbrev: string
compara_valuta?: number
compara_euro?: number
valuta_per_euro?: number
fido_scoperto_default?: number
qta_max_default?: number
data_costituz?: Date
deperimento: boolean
transactionsEnabled: boolean
status: number
freq_deper?: string
minuto_deper?: string
ora_deper?: string
giorno_deper?: string
mese_deper?: string
ultimo_deper?: Date
durata_deper?: number
photos?: IImgGallery[]
date_created?: Date
date_updated?: Date
admins?: IFriends[]
createdBy?: string
regulation?: string
numMembers?: number
// --- Mem:
movements: IMovement[]
}
export interface IMovement {
_id: string
transactionDate: Date
accountFromId: string
accountToId: string
amount: number
causal: string
residual: number
expiringDate: Date
}
export interface IMovVisu {
transactionDate: Date
userfrom: IUserFields
userto: IUserFields
circuitfrom: ICircuit
circuitto: ICircuit
amount: number
causal: string
residual: number
expiringDate: Date
}
export interface IAccount {
username: string
circuitId: string
circuit: ICircuit[]
name: string
deperibile: boolean
fidoConcesso: number
qta_maxConcessa: number
importo_iniziale?: number
saldo: number
totTransato: number
regulation_ok: boolean
}