add dpage permission
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||||
|
|
||||||
|
export class AddCountToPlan1773307633674 implements MigrationInterface {
|
||||||
|
name = 'AddCountToPlan1773307633674'
|
||||||
|
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE "subscription_plan" ADD "count" integer`);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TABLE "subscription_plan" DROP COLUMN "count"`);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||||
|
|
||||||
|
export class DpagePermissionAdded1773343159070 implements MigrationInterface {
|
||||||
|
name = 'DpagePermissionAdded1773343159070'
|
||||||
|
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`ALTER TYPE "public"."permission_name_enum" RENAME TO "permission_name_enum_old"`);
|
||||||
|
await queryRunner.query(`CREATE TYPE "public"."permission_name_enum" AS ENUM('services', 'customers', 'agents', 'developers', 'invoices', 'transactions', 'discounts', 'admins', 'tickets', 'criticisms', 'contacts_us', 'advertisements', 'announcements', 'blogs', 'learnings', 'logs', 'settings', 'bank_accounts', 'payments', 'manage_sso_clients', 'support_plan', 'dmenu', 'dkala', 'dpage')`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "permission" ALTER COLUMN "name" TYPE "public"."permission_name_enum" USING "name"::"text"::"public"."permission_name_enum"`);
|
||||||
|
await queryRunner.query(`DROP TYPE "public"."permission_name_enum_old"`);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
await queryRunner.query(`CREATE TYPE "public"."permission_name_enum_old" AS ENUM('services', 'customers', 'agents', 'developers', 'invoices', 'transactions', 'discounts', 'admins', 'tickets', 'criticisms', 'contacts_us', 'advertisements', 'announcements', 'blogs', 'learnings', 'logs', 'settings', 'bank_accounts', 'payments', 'manage_sso_clients', 'support_plan', 'dmenu', 'dkala')`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "permission" ALTER COLUMN "name" TYPE "public"."permission_name_enum_old" USING "name"::"text"::"public"."permission_name_enum_old"`);
|
||||||
|
await queryRunner.query(`DROP TYPE "public"."permission_name_enum"`);
|
||||||
|
await queryRunner.query(`ALTER TYPE "public"."permission_name_enum_old" RENAME TO "permission_name_enum"`);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,6 +5,9 @@ import { UserDec } from '../../common/decorators/user.decorator';
|
|||||||
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
|
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||||
import { AuthGuards } from '../../common/decorators/auth-guard.decorator';
|
import { AuthGuards } from '../../common/decorators/auth-guard.decorator';
|
||||||
import { FindBusinessesDto } from './dto/find-businesses.dto';
|
import { FindBusinessesDto } from './dto/find-businesses.dto';
|
||||||
|
import { AdminRoute } from '../../common/decorators/admin.decorator';
|
||||||
|
import { PermissionsDec } from '../../common/decorators/permission.decorator';
|
||||||
|
import { PermissionEnum } from '../users/enums/permission.enum';
|
||||||
|
|
||||||
@Controller('dpage')
|
@Controller('dpage')
|
||||||
@ApiTags('d-page')
|
@ApiTags('d-page')
|
||||||
@@ -13,13 +16,19 @@ import { FindBusinessesDto } from './dto/find-businesses.dto';
|
|||||||
export class DpageController {
|
export class DpageController {
|
||||||
constructor(private readonly dpageService: DPageService) { }
|
constructor(private readonly dpageService: DPageService) { }
|
||||||
|
|
||||||
|
//----------- user routes ------------------
|
||||||
|
|
||||||
@Post('login')
|
@Post('login')
|
||||||
@ApiOperation({ summary: 'direct login' })
|
@ApiOperation({ summary: 'direct login' })
|
||||||
login(@Body() dto: LoginDto, @UserDec("id") userId: string) {
|
login(@Body() dto: LoginDto, @UserDec("id") userId: string) {
|
||||||
return this.dpageService.loginToDpage(dto, userId);
|
return this.dpageService.loginToDpage(dto, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//------------------admin routes ------------------
|
||||||
|
|
||||||
@Get('business/list')
|
@Get('business/list')
|
||||||
|
@AdminRoute()
|
||||||
|
@PermissionsDec(PermissionEnum.DMENU)
|
||||||
findAll(@Query() dto: FindBusinessesDto) {
|
findAll(@Query() dto: FindBusinessesDto) {
|
||||||
return this.dpageService.findAll(dto);
|
return this.dpageService.findAll(dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ export class SubscriptionPlan extends BaseEntity {
|
|||||||
@Column({ type: "int", nullable: false })
|
@Column({ type: "int", nullable: false })
|
||||||
duration: number;
|
duration: number;
|
||||||
|
|
||||||
|
@Column({ type: "int", nullable: true }) // برای پلن هایی که غیر زمانی هستن مثلا دی پیج
|
||||||
|
count?: number;
|
||||||
|
|
||||||
@Column({ type: "boolean", default: false })
|
@Column({ type: "boolean", default: false })
|
||||||
isFree: boolean;
|
isFree: boolean;
|
||||||
|
|
||||||
|
|||||||
@@ -22,4 +22,5 @@ export enum PermissionEnum {
|
|||||||
SUPPORT_PLAN = "support_plan",
|
SUPPORT_PLAN = "support_plan",
|
||||||
DMENU = "dmenu",
|
DMENU = "dmenu",
|
||||||
DKALA = "dkala",
|
DKALA = "dkala",
|
||||||
|
DPAGE = "dpage"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user