(key: string, value: T){\r\n window.localStorage[key] = JSON.stringify(value);\r\n }\r\n\r\n removeKey(key:string){\r\n window.localStorage.removeItem(key);\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Sms } from \"../models\";\r\nimport { ApiService } from \"./api.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class NotificationService {\r\n\r\n constructor(private api: ApiService) { }\r\n\r\n sendSms(sms: Sms){\r\n return this.api.post(`/notifications/send-sms`, sms);\r\n }\r\n\r\n sendSmsUnicode(sms: Sms){\r\n return this.api.post(`/notifications/send-sms-unicode`, sms);\r\n }\r\n\r\n checkPortability(phoneNumber: string){\r\n return this.api.post(`/notifications/check-portability`, phoneNumber);\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { PaginationParams, PricelistCost, PriceListCreate } from \"../models\";\r\nimport { ApiService } from \"./api.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class PriceListService {\r\n\r\n constructor(private api: ApiService) { }\r\n\r\n loadPriceLists(params: PaginationParams){\r\n return this.api.post(`/pricelist/pricelists`, params);\r\n }\r\n\r\n create(priceList: PriceListCreate){\r\n return this.api.post(`/pricelist/pricelist-create`, priceList);\r\n }\r\n\r\n edit(id: number, priceList: PriceListCreate){\r\n return this.api.put(`/pricelist/pricelist/${id}`, priceList);\r\n }\r\n\r\n delete(id: number){\r\n return this.api.delete(`/pricelist/pricelist/${id}`);\r\n }\r\n\r\n loadCost(cost: PricelistCost){\r\n return this.api.post(`/pricelist/cost`, cost);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Customer, PaginationParams, Supplier } from '../models';\r\nimport { ApiService } from './api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class ReportsService {\r\n \r\n constructor(private api: ApiService){ }\r\n\r\n customerInvoicing(params: PaginationParams){\r\n return this.api.post(`/reports/customer`, params);\r\n }\t\t\r\n\r\n profileInvoicing(params: PaginationParams){\r\n return this.api.post(`/reports/profile`, params);\r\n }\r\n\t\r\n supplierInvoicing(params: PaginationParams) {\r\n return this.api.post('/reports/supplier', params);\r\n }\r\n\r\n smsHistory(params: PaginationParams){\r\n return this.api.post('/reports/sms', params);\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { PaginationParams, Supplier } from \"../models\";\r\nimport { ApiService } from \"./api.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class SupplierService {\r\n\r\n constructor(private api: ApiService) { }\r\n\r\n loadSuppliers(params: PaginationParams){\r\n return this.api.post(`/supplier/suppliers`, params);\r\n }\r\n\r\n create(supplier: Supplier){\r\n return this.api.post(`/supplier/create-supplier`, supplier);\r\n }\r\n\r\n edit(id: number, supplier: Supplier){\r\n return this.api.put(`/supplier/supplier/${id}`, supplier);\r\n }\r\n\r\n delete(id: number){\r\n return this.api.delete(`/supplier/supplier/${id}`);\r\n }\r\n\r\n supplierPricelist(params: PaginationParams){\r\n return this.api.post(`/supplier/pricelist`, params);\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class TypesService {\r\n \r\n constructor(private api: ApiService) { }\r\n\r\n getOperationTypes() {\r\n return this.api.get(`/types/operation-type`);\r\n }\r\n\r\n getNotificationTypes() {\r\n return this.api.get(`/types/notification-type`);\r\n }\r\n\r\n getPriceTypes() {\r\n return this.api.get(`/types/price-type`);\r\n }\r\n\r\n getProtocolTypes() {\r\n return this.api.get(`/types/protocol-types`);\r\n }\r\n\r\n getPrefixes() {\r\n return this.api.get(`/types/prefixes`);\r\n }\r\n\r\n getCustomers() {\r\n return this.api.get(`/types/customer-types`);\r\n }\r\n\r\n getSuppliers() {\r\n return this.api.get(`/types/supplier-types`);\r\n }\r\n}","export * from './validation';","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport class Validation {\r\n\r\n static match(controlName: string, checkControlName: string): ValidatorFn {\r\n return (controls: AbstractControl) => {\r\n const control = controls.get(controlName);\r\n const checkControl = controls.get(checkControlName);\r\n\r\n if (checkControl?.errors && !checkControl.errors['matching']) {\r\n return null;\r\n }\r\n\r\n if (control?.value !== checkControl?.value) {\r\n controls.get(checkControlName)?.setErrors({ matching: true });\r\n return { matching: true };\r\n } else {\r\n return null;\r\n }\r\n };\r\n }\r\n \r\n}","import { NgModule } from '@angular/core';\r\n\r\n// *************** FORM CONTROLS ***************\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\n\r\n// *************** NAVIGATION ***************\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\n\r\n// *************** LAYOUT ***************\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n// *************** BUTTONS & INDICATORS ***************\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatRippleModule } from '@angular/material/core';\r\n\r\n// *************** POPUPS & MODALS ***************\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\n// *************** DATA TABLE ***************\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\n\r\n@NgModule({\r\n declarations:[],\r\n exports: [\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule\r\n ]\r\n})\r\n\r\nexport class MaterialModule {}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss'],\r\n})\r\n\r\nexport class DashboardComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}","\r\n
Benvenuto a MrSMS
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { AppSettings, Customer, CustomerService, JwtService, LocalStorageService, Login, Response } from 'src/app/core';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n})\r\n\r\nexport class LoginComponent implements OnInit {\r\n\r\n loginForm = this.fb.group({\r\n username: ['', [Validators.required,\r\n Validators.minLength(6), Validators.maxLength(255)]],\r\n password: ['', [Validators.required, \r\n Validators.minLength(8), Validators.maxLength(255)]],\r\n });\r\n\r\n constructor(private fb: FormBuilder, private router: Router, \r\n private jwtService: JwtService, private customerService: CustomerService,\r\n private localStorageService: LocalStorageService) {}\r\n\r\n ngOnInit() {}\r\n\r\n get f(): { [key: string]: AbstractControl } {\r\n return this.loginForm.controls;\r\n }\r\n\r\n login() {\r\n var login = {\r\n username: this.loginForm.value.username,\r\n password: this.loginForm.value.password,\r\n };\r\n\r\n return this.customerService.login(login).subscribe({\r\n next:\r\n (res: Response) => {\r\n var user = res.result;\r\n this.localStorageService.saveKey(AppSettings.User, user);\r\n this.jwtService.saveToken(user.token);\r\n this.router.navigate(['dashboard']);\r\n },\r\n error:\r\n (err) => {\r\n console.log(err);\r\n }\r\n });\r\n\r\n }\r\n}","\r\n
\r\n \r\n
\r\n Accedi\r\n \r\n \r\n \r\n
","export * from './shared.module';\r\nexport * from './loader/loader.component';","\r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { LoaderService } from '../../core/services';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n})\r\n\r\nexport class LoaderComponent {\r\n isLoading: Subject = this.loaderService.isLoading;\r\n\r\n constructor(private loaderService: LoaderService) { }\r\n}","import { Component, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppSettings, Customer, CustomerService, LocalStorageService } from 'src/app/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\n\r\nexport class HeaderComponent {\r\n @Output() public sidenavToggle = new EventEmitter();\r\n userLogged: Customer;\r\n adminMenu: boolean;\r\n\r\n constructor(private customerService: CustomerService, private router: Router, \r\n private localStorageService: LocalStorageService)\r\n {\r\n\t if (!environment.production)\r\n\t\t console.log(\"Is Production:\" + environment.production);\r\n\r\n this.userLogged = localStorageService.getKey(AppSettings.User);\r\n this.adminMenu = environment.adminUsername.includes(this.userLogged.username);\r\n }\r\n \r\n public onToggleSidenav = () => {\r\n this.sidenavToggle.emit();\r\n }\r\n\r\n logout(){\r\n this.customerService.logout();\r\n return this.router.navigate(['auth/login']);\r\n }\r\n}","\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n - \r\n \r\n
\r\n \r\n - \r\n \r\n
\r\n \r\n - \r\n \r\n
\r\n - \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n - \r\n \r\n \r\n \r\n \r\n \r\n
\r\n - \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppSettings, Customer, CustomerService, LocalStorageService } from 'src/app/core';\r\nimport { environment } from 'src/environments/environment';\r\n \r\n@Component({\r\n selector: 'app-sidenav-list',\r\n templateUrl: './sidenav-list.component.html',\r\n styleUrls: ['./sidenav-list.component.scss']\r\n})\r\nexport class SidenavListComponent {\r\n @Output() sidenavClose = new EventEmitter();\r\n userLogged: Customer;\r\n adminMenu: boolean;\r\n\r\n constructor(private customerService: CustomerService, private router: Router,\r\n private localStorageService: LocalStorageService){\r\n this.userLogged = localStorageService.getKey(AppSettings.User);\r\n this.adminMenu = environment.adminUsername.includes(this.userLogged.username);\r\n }\r\n\r\n public onSidenavClose = () => {\r\n this.sidenavClose.emit();\r\n }\r\n\r\n logout(){\r\n this.customerService.logout();\r\n return this.router.navigate(['auth/login']);\r\n }\r\n}","\r\n \r\n home MrSMS\r\n \r\n \r\n people Clienti \r\n \r\n \r\n account_balanceFornitori\r\n \r\n \r\n account_balanceListini\r\n \r\n \r\n more_vertStorico\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n sim_cardAzioni\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n arrow_drop_down{{userLogged.username}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { MaterialModule } from '../material.module';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { HeaderComponent } from './navigation/header/header.component';\r\nimport { SidenavListComponent } from './navigation/sidenav-list/sidenav-list.component';\r\n\r\nconst MODULES = [\r\n CommonModule,\r\n RouterModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MaterialModule,\r\n FlexLayoutModule,\r\n ToastrModule\r\n];\r\n\r\nconst COMPONENTS = [\r\n LoaderComponent,\r\n HeaderComponent,\r\n SidenavListComponent\r\n]\r\n\r\n@NgModule({\r\n imports: [...MODULES],\r\n declarations: [...COMPONENTS],\r\n exports: [...MODULES, ...COMPONENTS],\r\n})\r\n\r\nexport class SharedModule {}","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-auth-layout',\r\n templateUrl: './auth-layout.component.html',\r\n styleUrls: ['./auth-layout.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class AuthLayoutComponent {\r\n \r\n}","\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'home-layout',\r\n templateUrl: './home-layout.component.html',\r\n styleUrls: ['./home-layout.component.scss'],\r\n})\r\n\r\nexport class HomeLayoutComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}","\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nimport { HomeLayoutComponent } from './home-layout/home-layout.component';\r\nimport { AuthLayoutComponent } from './auth-layout/auth-layout.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n HomeLayoutComponent,\r\n AuthLayoutComponent,\r\n ],\r\n imports: [SharedModule],\r\n})\r\nexport class ThemeModule {}","export const environment = {\n production: false,\n BaseApiUrl: 'https://api-test-mrsms.fastcode.it/api',\n useHash: false,\n adminUsername:['Administrator']\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["i0","LoaderComponent","constructor","loaderService","isLoading","selectors","decls","vars","consts","template"],"sourceRoot":"webpack:///"}