fix notifications, add notification when authorized person do debit or credit
This commit is contained in:
		
							parent
							
								
									a876f99e13
								
							
						
					
					
						commit
						345227f5d4
					
				| 
						 | 
				
			
			@ -2,16 +2,19 @@ import { FG_Plugin } from '@flaschengeist/types';
 | 
			
		|||
 | 
			
		||||
export interface SendFromNotification {
 | 
			
		||||
  receiver_id: string;
 | 
			
		||||
  author_id: string;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface SendToNotification {
 | 
			
		||||
  sender_id: string;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface TransactionNotification {
 | 
			
		||||
  author_id: string;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface BalanceNotification extends FG_Plugin.Notification {
 | 
			
		||||
  data: {
 | 
			
		||||
    type: number;
 | 
			
		||||
    amount: number;
 | 
			
		||||
  } & (SendFromNotification | SendToNotification);
 | 
			
		||||
  } & (SendFromNotification | SendToNotification | TransactionNotification);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								src/index.ts
								
								
								
								
							
							
						
						
									
										12
									
								
								src/index.ts
								
								
								
								
							| 
						 | 
				
			
			@ -1,12 +1,14 @@
 | 
			
		|||
import { FG_Plugin } from '@flaschengeist/types';
 | 
			
		||||
import { defineAsyncComponent } from 'vue';
 | 
			
		||||
import routes from './routes';
 | 
			
		||||
import { BalanceNotification, SendFromNotification, SendToNotification } from 'app/balance';
 | 
			
		||||
import { BalanceNotification, SendFromNotification, SendToNotification, TransactionNotification } from 'app/balance';
 | 
			
		||||
import { useUserStore } from '@flaschengeist/api';
 | 
			
		||||
 | 
			
		||||
const BalanceTypes = {
 | 
			
		||||
  send_to: 0x01,
 | 
			
		||||
  send_from: 0x02,
 | 
			
		||||
  add_from: 0x03,
 | 
			
		||||
  sub_from: 0x04,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function transpile(msg: FG_Plugin.Notification) {
 | 
			
		||||
| 
						 | 
				
			
			@ -21,16 +23,20 @@ function transpile(msg: FG_Plugin.Notification) {
 | 
			
		|||
    message.text = `${author.display_name} hat ${message.data.amount.toFixed(2)}€ von dir zu ${
 | 
			
		||||
      receiver.display_name
 | 
			
		||||
    } überwiesen.`;
 | 
			
		||||
  } else {
 | 
			
		||||
  } else if (message.data.type === BalanceTypes.send_to) {
 | 
			
		||||
    const sender = <FG.User>store.findUser((<SendToNotification>message.data).sender_id);
 | 
			
		||||
    console.log(sender);
 | 
			
		||||
    message.text = `${sender.display_name} hat dir ${message.data.amount.toFixed(2)}€ überwiesen.`;
 | 
			
		||||
  } else {
 | 
			
		||||
    const author = <FG.User>store.findUser((<TransactionNotification>message.data).author_id);
 | 
			
		||||
    const abgebucht = message.data.type === BalanceTypes.add_from ? 'aufgeladen' : 'abgebucht';
 | 
			
		||||
    message.text = `${author.display_name} hat ${message.data.amount.toFixed(2)}€ dir ${abgebucht}.`;
 | 
			
		||||
  }
 | 
			
		||||
  return message;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const plugin: FG_Plugin.Plugin = {
 | 
			
		||||
  id: 'dev.flaschengeist.balance',
 | 
			
		||||
  id: 'balance',
 | 
			
		||||
  name: 'Balance',
 | 
			
		||||
  innerRoutes: routes,
 | 
			
		||||
  requiredModules: [['balance']],
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue