Feature/setup subscription with stripe (#178)
* Set up stripe for subscriptions * Update permissions and add discount * Update changelog
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { Currency } from '@prisma/client';
|
||||
|
||||
import { Statistics } from './statistics.interface';
|
||||
import { Subscription } from './subscription.interface';
|
||||
|
||||
export interface InfoItem {
|
||||
currencies: Currency[];
|
||||
@@ -13,4 +14,5 @@ export interface InfoItem {
|
||||
};
|
||||
platforms: { id: string; name: string }[];
|
||||
statistics: Statistics;
|
||||
subscriptions: Subscription[];
|
||||
}
|
||||
|
6
libs/common/src/lib/interfaces/subscription.interface.ts
Normal file
6
libs/common/src/lib/interfaces/subscription.interface.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
export interface Subscription {
|
||||
coupon?: number;
|
||||
couponId?: string;
|
||||
price: number;
|
||||
priceId: string;
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
import { Currency, ViewMode } from '@prisma/client';
|
||||
|
||||
export interface UserSettings {
|
||||
baseCurrency: Currency;
|
||||
baseCurrency?: Currency;
|
||||
locale: string;
|
||||
viewMode: ViewMode;
|
||||
viewMode?: ViewMode;
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@ import { Account, Settings, User } from '@prisma/client';
|
||||
|
||||
export type UserWithSettings = User & {
|
||||
Account: Account[];
|
||||
permissions?: string[];
|
||||
Settings: Settings;
|
||||
subscription?: {
|
||||
expiresAt?: Date;
|
||||
|
@@ -21,7 +21,8 @@ export const permissions = {
|
||||
updateAccount: 'updateAccount',
|
||||
updateAuthDevice: 'updateAuthDevice',
|
||||
updateOrder: 'updateOrder',
|
||||
updateUserSettings: 'updateUserSettings'
|
||||
updateUserSettings: 'updateUserSettings',
|
||||
updateViewMode: 'updateViewMode'
|
||||
};
|
||||
|
||||
export function hasPermission(
|
||||
@@ -46,7 +47,8 @@ export function getPermissions(aRole: Role): string[] {
|
||||
permissions.updateAccount,
|
||||
permissions.updateAuthDevice,
|
||||
permissions.updateOrder,
|
||||
permissions.updateUserSettings
|
||||
permissions.updateUserSettings,
|
||||
permissions.updateViewMode
|
||||
];
|
||||
|
||||
case 'DEMO':
|
||||
@@ -62,7 +64,8 @@ export function getPermissions(aRole: Role): string[] {
|
||||
permissions.updateAccount,
|
||||
permissions.updateAuthDevice,
|
||||
permissions.updateOrder,
|
||||
permissions.updateUserSettings
|
||||
permissions.updateUserSettings,
|
||||
permissions.updateViewMode
|
||||
];
|
||||
|
||||
default:
|
||||
|
Reference in New Issue
Block a user