Parametros para métodos con servicios Angular 8

quiero utilizar una función para animar un img al hacer poner el ratón sobre el icono, llamada bounce(). Estos iconos se reflejan en un .service de Angular donde se encuentra la ruta de cada icono. Actualmente, he conseguido que realice la animación, pero afecta a todos los iconos, y quiero que los anime de forma individual.

¿Cómo puedo pasarle un parametro a la función dentro del documento .html para que anime solo uno de los iconos en vez de todos a la vez?

HTML:

                <table class="table">                      <div class="col" routerLinkActive="active">                         <div class="row-4" *ngFor="let about of abouts">                             <br>                             <p class='lead mb-5'>                                 <img class="icons" [src]="about.img" [@bouncing]="currentState"> {{about.bio}}                             </p>                         </div>                      </div>                 </table> 

TS:

export class AboutComponent implements OnInit {    // tslint:disable-next-line:variable-name   constructor( private _AboutService: AboutService,                private activatedRoute: ActivatedRoute,                private router: Router) {                  this.activatedRoute.params.subscribe( params => {                   console.log(params);                 }); }    currentState = 'normal';   abouts: About[] = [];   about: any = {};  /* Here i call the AboutService */  ngOnInit() {   this.abouts = this._AboutService.getAbouts();   }  /* this function do that the hobbies icons bounce when the mouse will be over. Then, the currentState var will come back to the original state in 1.5 seconds */  bounce() {      this.currentState = this.currentState === 'normal' ? '*' : 'normal';     setTimeout(() => {       this.currentState = 'normal';     }, 1500);    }  } 

Testear actions que llaman a servicios

Tengo que hacerle test a unas actions que llaman a los servicios que conectan con el back pero no consigo hacerlo, añado los ficheros a continuacion:

configuration.actions

import configurationService from '../services/configuration.service';  function getAllCountries() {   return configurationService.getAllCountries(); } 

configuration.service.js

import BACKEND_ROUTES from '../constants/backendroutes'; import history from '../helpers/history'; import ROUTES from '../constants/routes'; import responses from './responses';  const getToken = () => {   const user = JSON.parse(localStorage.getItem('user'));   if (user.status === 200) {     const token = user.result;     return token;   }   history.push(ROUTES.HOME);   return true; };  function getAllCountries() {   const requestOptions = {     method: 'GET',     // headers: authHeader()   };    const url = `$  {BACKEND_ROUTES.CONFIGURATIONDS_GET_ALL_COUNTRIES}?token=$  {getToken()}`;   return fetch(`$  https://es.stackoverflow.com/questions/287715/testear-actions-que-llaman-a-servicios`, requestOptions).then(responses.handleResponseConfig); }  export default configurationService; 

configuration.actions.test.js

import configurationService from '../../services/configuration.service'; import '../../services/__mocks__/configuration.service';  describe('Configuration Actions', () => {   it('prueba fetch', () => {     configurationService.getAllCountries().then(description => {       expect(description).toBe('OK');     });   }); }); 

El error que me devuelve al ejecutarlo es el siguiente:

TypeError: Cannot read property ‘status’ of null

Se puede crear direcciones de correo, o cuentas desde otros servicios automáticamente?

Ando investigando como crear una cuenta por ejemplo de correo electrónico automaticamente, yo necesito crear usuarios que almacenare en una base de datos , esto a partir de datos recibidos en un formulario :

Por ejemplo FORMULARIO DE REGISTRO

Nombre : JUAN Apellido : PEREZ EDAD : 30

A partir de estos datos crearia una direccion “JUAN.PEREZ.30@gmail.com” y la cuenta se cree automaticamente en Gmail.

Obviamente es un ejemplo sencillo, pero la idea es esa, espero haberme dejado entender

Cualquier API relacionada a la creacion de cuentas automaticas o si alguien puede decirme como se llama lo que necesito hacer, me seria de mucha ayuda si es posible en JS

Cantidad de servicios vendido por año mes

Este query me muestra la cantidad de servicios vendidos en un rango de fecha (20160101 al 20160131), necesito saber la cantidad de servicios vendido por mes del año 2016, 2017 y 2018, ¿Cómo podría modificar este query para obtener dicha información? Muchas gracias de antemano.

select f.empresadestino, f.CodigoLocal, fd.CodigoProducto, max(Convert(varchar,fd.descripcion)) as NombreProducto,  COUNT(fd.CodigoProducto) as cantidadvendida from FACTURADETALLE as fd left join FACTURA as f on fd.CodigoEmp=f.CodigoEmp and fd.empresadestino=f.empresadestino and fd.TipoDocumento=f.TipoDocumento and fd.NumeroSerie=f.NumeroSerie and fd.NumeroFactura=f.NumeroFactura where f.FechaFactura between '20160101' and '20160131' and f.SituacionFactura='10' and fd.CodigoTipoProducto='03' and f.CodigoLocal in ('002', '013', '012') and f.empresadestino in ('005', '006', '011') group by f.empresadestino, f.codigolocal,fd.CodigoProducto order by f.empresadestino, f.codigolocal, cantidadvendida desc 

respuesta de query de ejemplo

Servicios Android

Desde mi ActivityMain puedo llamar al new WebService_modificar(MainActivity.this).execute(); lo que hace es modificar la fecha/hora capturada en mi EditText y guardarla en mi base de datos remota sin problema. Pero ahora quiero que lo haga en segundo plano desde un servicio.

Tengo el servicio creado, pero no se como invocar esta clase desde el servicio, ya que haciéndolo desde onStartCommand igual que en el Main me da error. ¿Como puedo ejecutar el código de esta clase desde un servicio?