NineSec Team Shell
Server IP : 92.205.26.207  /  Your IP : 216.73.216.16
Web Server : Apache
System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64
User : zikryat ( 1002)
PHP Version : 8.3.23
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/zikryat/public_html/src/api/admin_panel/other/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/zikryat/public_html/src/api/admin_panel/other/versions_admin.service.ts
/**
 * Copyright 2023, the hatemragab project author.
 * All rights reserved. Use of this source code is governed by a
 * MIT license that can be found in the LICENSE file.
 */

import {BadRequestException, Injectable} from '@nestjs/common';
import {VersionsService} from "../../versions/versions.service";
import {CreateNewVersionDto, GetVersionDto} from "../dto/admin_dto";
import semver from "semver/preload";
import {MongoIdDto} from "../../../core/common/dto/mongo.id.dto";

@Injectable()
export class VersionsAdminService {
    constructor(readonly versionsService: VersionsService,) {
    }
    async setNewVersion(dto: CreateNewVersionDto) {
        //await  this._firstInit()
        let v = await this.versionsService.findOne({
            semVer: dto.semVer,
            platform: dto.platform
        });
        if (v) throw new BadRequestException("Version already exists!");
        let last = await this.versionsService.findOne({
            platform: dto.platform
        }, null, {sort: "-_id"});
        let isSmall = semver.lt(dto.semVer, last.semVer);
        if (isSmall) {
            throw new BadRequestException("the new version must bigger than the last version " + last.semVer);
        }
        if (dto.notify) {
            //todo notify
        }
        await this.versionsService.create({
            semVer: dto.semVer,
            notes: dto.notes,
            platform: dto.platform,
            critical: dto.critical,
            notify: dto.notify
        });
        return "Updated";
    }

    async getVersions(platform: GetVersionDto) {
        return this.versionsService.findAll({
            platform: platform.platform
        }, null, {
            sort: "-_id"
        });
    }

    async deleteVersion(id: MongoIdDto) {
        await this.versionsService.findByIdAndDelete(id.id);
        return "deleted";
    }
}

NineSec Team - 2022