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 { AuthGuards } from '../../common/decorators/auth-guard.decorator';
|
||||
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')
|
||||
@ApiTags('d-page')
|
||||
@@ -13,13 +16,19 @@ import { FindBusinessesDto } from './dto/find-businesses.dto';
|
||||
export class DpageController {
|
||||
constructor(private readonly dpageService: DPageService) { }
|
||||
|
||||
//----------- user routes ------------------
|
||||
|
||||
@Post('login')
|
||||
@ApiOperation({ summary: 'direct login' })
|
||||
login(@Body() dto: LoginDto, @UserDec("id") userId: string) {
|
||||
return this.dpageService.loginToDpage(dto, userId);
|
||||
}
|
||||
|
||||
//------------------admin routes ------------------
|
||||
|
||||
@Get('business/list')
|
||||
@AdminRoute()
|
||||
@PermissionsDec(PermissionEnum.DMENU)
|
||||
findAll(@Query() dto: FindBusinessesDto) {
|
||||
return this.dpageService.findAll(dto);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,9 @@ export class SubscriptionPlan extends BaseEntity {
|
||||
@Column({ type: "int", nullable: false })
|
||||
duration: number;
|
||||
|
||||
@Column({ type: "int", nullable: true }) // برای پلن هایی که غیر زمانی هستن مثلا دی پیج
|
||||
count?: number;
|
||||
|
||||
@Column({ type: "boolean", default: false })
|
||||
isFree: boolean;
|
||||
|
||||
|
||||
@@ -22,4 +22,5 @@ export enum PermissionEnum {
|
||||
SUPPORT_PLAN = "support_plan",
|
||||
DMENU = "dmenu",
|
||||
DKALA = "dkala",
|
||||
DPAGE = "dpage"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user