import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { RESTService } from '@loafer/ng-rest'; import { RPCService } from '@loafer/ng-rpc'; import { DomainMember } from '@overflow/commons-typescript/model/domain'; import { Member } from '@overflow/commons-typescript/model/member'; @Injectable() export class MemberService { public constructor( private restService: RESTService, private rpcService: RPCService, ) { } public signin(email: string, password: string): Observable { return this.restService.request('post', '/account/signin', { body: { signinID: email, signinPW: password, }, }); } public signup(member: Member, password: string): Observable { return this.restService.request('post', '/account/signup', { body: { member: member, password: password, }, }); } public modify(member: Member): Observable { return this.rpcService.call('MemberService.modify', member, ''); } public sendEmailResetPassword(email: string): Observable { return this.restService.request('post', '/account/send_email_pw', { body: { signinID: email, }, }); } public resetPassword(token: string, pw: string, confirmPw: string): Observable { return this.restService.request('post', '/account/reset_password', { body: { token: token, pw: pw, confirmPw: confirmPw, }, }); } }