Exemple #1
0
        public ApiResponse AddUpdateConnection([FromRoute] string endpoint, [FromQuery] string projectName, [FromQuery] string dbSourceName,
                                               [FromBody] Newtonsoft.Json.Linq.JObject json
                                               )
        {
            try
            {
                bool   isMetadata         = (bool)json["isMetadata"].ToObject(typeof(bool));
                string dataSource         = json["dataSource"].ToString();
                string catalog            = json["catalog"].ToString();
                string username           = json["username"].ToString();
                string password           = json["password"].ToString();
                int?   port               = json["port"].ToObject(typeof(int?)) as int?;
                bool   integratedSecurity = json["authType"].ToString() == "100";

                if (integratedSecurity)
                {
                    username = password = null;
                }

                if (!port.HasValue)
                {
                    port = 1433;
                }

                if (!ControllerHelper.GetProjectAndApp(projectName, dbSourceName, out var proj, out var dbSource, out var resp))
                {
                    return(resp);
                }

                if (!dbSource.GetEndpoint(endpoint, out var ep, out var resp2))
                {
                    return(ApiResponse.ExclamationModal(resp2.userErrorVal));
                }

                CommonReturnValueWithApplication ret = null;

                if (isMetadata)
                {
                    ret = ep.UpdateMetadataConnection(dataSource, catalog, username, password, port.Value);
                }
                else
                {
                    ret = ep.UpdateExecConnection(dataSource, catalog, username, password, port.Value);
                }

                if (!ret.IsSuccess)
                {
                    return(ApiResponse.ExclamationModal(ret.userErrorVal));
                }

                WorkSpawner.RestartWorker(ep);
                SettingsInstance.SaveSettingsToFile();

                return(ApiResponse.Success());
            }
            catch (Exception ex)
            {
                return(ApiResponse.Exception(ex));
            }
        }
Exemple #2
0
        public ApiResponse StartWorker([FromRoute] string id)
        {
            try
            {
                var worker = WorkSpawner.GetWorkerById(id);

                if (worker != null)
                {
                    if (!WorkSpawner.RestartWorker(worker))
                    {
                        return(ApiResponse.ExclamationModal("Timeout reached while waiting for running worker to restart."));
                    }

                    return(ApiResponse.Success());
                }
                else
                {
                    return(ApiResponse.ExclamationModal($"Failed to find specified worker: {id}"));
                }
            }
            catch (Exception e)
            {
                return(ApiResponse.Exception(e));
            }
        }
Exemple #3
0
        public void ShareMetadaFrom(Endpoint srcEndpoint)
        {
            if (srcEndpoint == null)
            {
                this.PullMetadataFromEndpointId = null;

                this.CachedRoutineList = new List <CachedRoutine>();
                WorkSpawner.RestartWorker(this);
            }
            else
            {
                PullMetadataFromEndpointId = srcEndpoint.Id;

                this.CachedRoutineList = srcEndpoint.CachedRoutineList;
            }
        }