| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- using Aliyun.OSS;
- using NTMiner.Core.MinerServer;
- using System;
- using System.Collections.Generic;
- using System.Web.Http;
- namespace NTMiner.Controllers {
- // 注意该控制器不能重命名
- public class FileUrlController : ApiControllerBase, IFileUrlController {
- [HttpPost]
- public string MinerJsonPutUrl([FromBody]MinerJsonPutUrlRequest request) {
- if (request == null || string.IsNullOrEmpty(request.FileName)) {
- return string.Empty;
- }
- try {
- var req = new GeneratePresignedUriRequest("minerjson", request.FileName, SignHttpMethod.Put);
- var uri = WebApiRoot.OssClient.GeneratePresignedUri(req);
- return uri.ToString();
- }
- catch (Exception e) {
- Logger.ErrorDebugLine(e);
- return string.Empty;
- }
- }
- [HttpPost]
- public string NTMinerUrl([FromBody]NTMinerUrlRequest request) {
- if (request == null || string.IsNullOrEmpty(request.FileName)) {
- return string.Empty;
- }
- var req = new GeneratePresignedUriRequest("ntminer", request.FileName, SignHttpMethod.Get) {
- Expiration = DateTime.Now.AddMinutes(10)
- };
- var uri = WebApiRoot.OssClient.GeneratePresignedUri(req);
- return uri.ToString();
- }
- [HttpPost]
- public List<NTMinerFileData> NTMinerFiles() {
- var list = WebApiRoot.NTMinerFileSet.GetAll();
- return list;
- }
- [HttpPost]
- public ResponseBase AddOrUpdateNTMinerFile([FromBody]DataRequest<NTMinerFileData> request) {
- if (request == null || request.Data == null) {
- return ResponseBase.InvalidInput("参数错误");
- }
- try {
- if (!IsValidAdmin(request, out ResponseBase response)) {
- return response;
- }
- WebApiRoot.NTMinerFileSet.AddOrUpdate(request.Data);
- return ResponseBase.Ok();
- }
- catch (Exception e) {
- Logger.ErrorDebugLine(e);
- return ResponseBase.ServerError(e.Message);
- }
- }
- [HttpPost]
- public ResponseBase RemoveNTMinerFile([FromBody]DataRequest<Guid> request) {
- if (request == null) {
- return ResponseBase.InvalidInput("参数错误");
- }
- try {
- if (!IsValidAdmin(request, out ResponseBase response)) {
- return response;
- }
- WebApiRoot.NTMinerFileSet.RemoveById(request.Data);
- return ResponseBase.Ok();
- }
- catch (Exception e) {
- Logger.ErrorDebugLine(e);
- return ResponseBase.ServerError(e.Message);
- }
- }
- [HttpPost]
- public string NTMinerUpdaterUrl() {
- try {
- string fileName;
- if (!VirtualRoot.LocalAppSettingSet.TryGetAppSetting(NTKeyword.NTMinerUpdaterFileNameAppSettingKey, out IAppSetting setting)) {
- fileName = HomePath.NTMinerUpdaterFileName;
- }
- else {
- fileName = (string)setting.Value;
- }
- var req = new GeneratePresignedUriRequest("ntminer", fileName, SignHttpMethod.Get);
- var uri = WebApiRoot.OssClient.GeneratePresignedUri(req);
- return uri.ToString();
- }
- catch (Exception e) {
- Logger.ErrorDebugLine(e);
- return string.Empty;
- }
- }
- [HttpPost]
- public string MinerClientFinderUrl() {
- try {
- string fileName;
- if (!VirtualRoot.LocalAppSettingSet.TryGetAppSetting(NTKeyword.MinerClientFinderFileNameAppSettingKey, out IAppSetting setting)) {
- fileName = NTKeyword.MinerClientFinderFileName;
- }
- else {
- fileName = (string)setting.Value;
- }
- var req = new GeneratePresignedUriRequest("ntminer", fileName, SignHttpMethod.Get);
- var uri = WebApiRoot.OssClient.GeneratePresignedUri(req);
- return uri.ToString();
- }
- catch (Exception e) {
- Logger.ErrorDebugLine(e);
- return string.Empty;
- }
- }
- [HttpPost]
- public string LiteDbExplorerUrl() {
- try {
- var req = new GeneratePresignedUriRequest("ntminer", "LiteDBExplorerPortable.zip", SignHttpMethod.Get);
- var uri = WebApiRoot.OssClient.GeneratePresignedUri(req);
- return uri.ToString();
- }
- catch (Exception e) {
- Logger.ErrorDebugLine(e);
- return string.Empty;
- }
- }
- [HttpPost]
- public string PackageUrl([FromBody]PackageUrlRequest request) {
- try {
- if (request == null || string.IsNullOrEmpty(request.Package)) {
- return string.Empty;
- }
- var req = new GeneratePresignedUriRequest("ntminer", $"packages/{request.Package}", SignHttpMethod.Get) {
- Expiration = DateTime.Now.AddMinutes(10)
- };
- var uri = WebApiRoot.OssClient.GeneratePresignedUri(req);
- return uri.ToString();
- }
- catch (Exception e) {
- Logger.ErrorDebugLine(e);
- return string.Empty;
- }
- }
- }
- }
|