Add new fields for Owner
This commit is contained in:
parent
c9f84f1a28
commit
c40ac0fd44
10 changed files with 84 additions and 23 deletions
|
@ -127,7 +127,7 @@ var blockInterval = setInterval( function() {
|
|||
if (txData.confirmations >= 6 ) {
|
||||
usermodel.findOne({address: address, session: session, blocktime: blocktime}).then(function(doc){
|
||||
if (doc == null){
|
||||
console.log('User not found', session, blocktime, amount);
|
||||
console.log('User not found', session, blocktime);
|
||||
const n = crypto.randomInt(0, 10000000);
|
||||
const pin = n.toString().padStart(6, '0');
|
||||
sendPin(pin, address);
|
||||
|
@ -333,6 +333,7 @@ app.get('/api/getowner', (req, res, next) => {
|
|||
});
|
||||
|
||||
app.post('/api/addowner', (req, res, next) => {
|
||||
// TODO: confirm passing owner works
|
||||
console.log('Post: /api/addowner');
|
||||
const owner = new ownermodel(req.body);
|
||||
owner.save();
|
||||
|
|
|
@ -13,7 +13,8 @@ const ownerSchema = mongoose.Schema({
|
|||
city: {type: String, required: true},
|
||||
state: {type: String, required: true},
|
||||
postal: {type: String, required: true},
|
||||
phone: {type: String, required: true}
|
||||
phone: {type: String, required: true},
|
||||
paid: {type: Boolean, required: true, default: false}
|
||||
});
|
||||
|
||||
module.exports = mongoose.model('Owner', ownerSchema);
|
||||
|
|
|
@ -30,7 +30,15 @@ export class FullnodeService{
|
|||
tax: false,
|
||||
taxValue: 0,
|
||||
vat: false,
|
||||
vatValue: 0
|
||||
vatValue: 0,
|
||||
email: '',
|
||||
street: '',
|
||||
city: '',
|
||||
state: '',
|
||||
postal: '',
|
||||
phone: '',
|
||||
paid: false
|
||||
|
||||
};
|
||||
|
||||
constructor(private http: HttpClient, public userService: UserService){
|
||||
|
|
|
@ -23,7 +23,15 @@ export class HeaderComponent implements OnInit, OnDestroy {
|
|||
tax: false,
|
||||
taxValue: 0,
|
||||
vat: false,
|
||||
vatValue: 0
|
||||
vatValue: 0,
|
||||
email: '',
|
||||
street: '',
|
||||
city: '',
|
||||
state: '',
|
||||
postal: '',
|
||||
phone: '',
|
||||
paid: false
|
||||
|
||||
};
|
||||
private session: string | null = '';
|
||||
public heightUpdate: Observable<number>;
|
||||
|
|
|
@ -28,7 +28,15 @@ export class ItemListComponent implements OnInit{
|
|||
tax: false,
|
||||
taxValue: 0,
|
||||
vat: false,
|
||||
vatValue: 0
|
||||
vatValue: 0,
|
||||
email: '',
|
||||
street: '',
|
||||
city: '',
|
||||
state: '',
|
||||
postal: '',
|
||||
phone: '',
|
||||
paid: false
|
||||
|
||||
};
|
||||
public price: number = 1;
|
||||
public ownerUpdate: Observable<Owner>;
|
||||
|
|
|
@ -9,6 +9,7 @@ import { FullnodeService } from '../fullnode.service';
|
|||
import { ScanComponent} from '../scan/scan.component';
|
||||
import { Tx } from '../tx.model';
|
||||
import {User} from '../user.model';
|
||||
import { Owner } from '../owner.model';
|
||||
import { Subscription, Observable } from 'rxjs';
|
||||
import { take } from 'rxjs/operators';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
@ -38,11 +39,28 @@ export class LoginComponent implements OnInit, AfterViewInit {
|
|||
pin: '',
|
||||
validated: false
|
||||
};
|
||||
public owner:Owner = {
|
||||
address: '',
|
||||
name: '',
|
||||
currency: '',
|
||||
tax: false,
|
||||
taxValue:0,
|
||||
vat: false,
|
||||
vatValue: 0,
|
||||
email: '',
|
||||
street: '',
|
||||
city: '',
|
||||
state: '',
|
||||
postal: '',
|
||||
phone: '',
|
||||
paid: false
|
||||
};
|
||||
private FullnodeSub: Subscription = new Subscription();
|
||||
private UserSub: Subscription = new Subscription();
|
||||
public heightUpdate: Observable<number>;
|
||||
public uZaddrUpdate: Observable<string>;
|
||||
public userUpdate:Observable<User>;
|
||||
public ownerUpdate:Observable<Owner>;
|
||||
public txsUpdate: Observable<Tx[]>;
|
||||
tickets = [
|
||||
{
|
||||
|
@ -87,9 +105,13 @@ export class LoginComponent implements OnInit, AfterViewInit {
|
|||
this.heightUpdate = fullnodeService.heightUpdate;
|
||||
this.uZaddrUpdate = userService.uZaddrUpdate;
|
||||
this.userUpdate = userService.userUpdate;
|
||||
this.ownerUpdate = userService.ownerUpdate;
|
||||
this.userUpdate.subscribe((user) => {
|
||||
this.user = user;
|
||||
});
|
||||
this.ownerUpdate.subscribe((owner) => {
|
||||
this.owner = owner;
|
||||
});
|
||||
this.txsUpdate = userService.txUpdate;
|
||||
this.txsUpdate.subscribe((txs) => {
|
||||
this.txs = txs;
|
||||
|
|
|
@ -30,7 +30,14 @@ export class OrderService {
|
|||
tax: false,
|
||||
taxValue: 0,
|
||||
vat: false,
|
||||
vatValue: 0
|
||||
vatValue: 0,
|
||||
email: '',
|
||||
street: '',
|
||||
city: '',
|
||||
state: '',
|
||||
postal: '',
|
||||
phone: '',
|
||||
paid: false
|
||||
},
|
||||
order: {
|
||||
address: '',
|
||||
|
|
|
@ -13,4 +13,5 @@ export interface Owner {
|
|||
state: string;
|
||||
postal: string;
|
||||
phone: string;
|
||||
paid: boolean;
|
||||
}
|
||||
|
|
|
@ -25,7 +25,15 @@ export class UserService{
|
|||
tax: false,
|
||||
taxValue: 0,
|
||||
vat: false,
|
||||
vatValue: 0
|
||||
vatValue: 0,
|
||||
email: '',
|
||||
street: '',
|
||||
city: '',
|
||||
state: '',
|
||||
postal: '',
|
||||
phone: '',
|
||||
paid: false
|
||||
|
||||
},
|
||||
txs : []
|
||||
};
|
||||
|
@ -38,10 +46,12 @@ export class UserService{
|
|||
private uNameUpdated = new Subject<string>();
|
||||
private _ownerUpdated: BehaviorSubject<Owner> = new BehaviorSubject(this.dataStore.owner);
|
||||
private _txsUpdated: BehaviorSubject<Tx[]> = new BehaviorSubject(this.dataStore.txs);
|
||||
private _paidUpdated: BehaviorSubject<boolean> = new BehaviorSubject(this.dataStore.owner.paid);
|
||||
public readonly uZaddrUpdate: Observable<string> = this._uZaddrUpdated.asObservable();
|
||||
public readonly ownerUpdate: Observable<Owner> = this._ownerUpdated.asObservable();
|
||||
public readonly userUpdate: Observable<User> = this._userUpdated.asObservable();
|
||||
public readonly txUpdate: Observable<Tx[]> = this._txsUpdated.asObservable();
|
||||
public readonly paidUpdate: Observable<boolean> = this._paidUpdated.asObservable();
|
||||
private reqHeaders: HttpHeaders;
|
||||
private apiKey = 'Le2adeic8Thah4Aeng4daem6i';
|
||||
|
||||
|
@ -116,18 +126,8 @@ export class UserService{
|
|||
});
|
||||
}
|
||||
|
||||
addOwner(address: string) {
|
||||
const owner: Owner={
|
||||
_id: '',
|
||||
address: address,
|
||||
name: 'Zgo-'.concat(address.substring(0,5)),
|
||||
currency: 'usd',
|
||||
tax: false,
|
||||
taxValue: 0,
|
||||
vat: false,
|
||||
vatValue: 0
|
||||
};
|
||||
let obs = this.http.post<{message: string}>(this.beUrl+'api/addowner', {address: owner.address, name: owner.name}, {headers: this.reqHeaders});
|
||||
addOwner(owner: Owner) {
|
||||
let obs = this.http.post<{message: string}>(this.beUrl+'api/addowner', {owner: owner}, {headers: this.reqHeaders});
|
||||
|
||||
obs.subscribe((responseData) => {
|
||||
console.log(responseData.message);
|
||||
|
@ -157,9 +157,7 @@ export class UserService{
|
|||
this.dataStore.owner = OwnerDataResponse.body!.owner[0];
|
||||
//console.log('getOwner object', this.dataStore.owner);
|
||||
this._ownerUpdated.next(Object.assign({},this.dataStore).owner);
|
||||
} else {
|
||||
console.log("No owner found, adding");
|
||||
this.addOwner(address);
|
||||
this._paidUpdated.next(Object.assign({}, this.dataStore).owner.paid);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -36,7 +36,14 @@ export class ViewerComponent implements OnInit {
|
|||
tax: false,
|
||||
taxValue: 0,
|
||||
vat: false,
|
||||
vatValue: 0
|
||||
vatValue: 0,
|
||||
email: '',
|
||||
street: '',
|
||||
city: '',
|
||||
state: '',
|
||||
postal: '',
|
||||
phone: '',
|
||||
paid: false
|
||||
};
|
||||
public addrUpdate: Observable<string>;
|
||||
public ownerUpdate: Observable<Owner>;
|
||||
|
|
Loading…
Reference in a new issue