private static HttpClient GetCloudControlClient(SampleAppSettings appSettings) { string serviceUri = CLOUDCONTROLSERVICE_EUREKA_NAME; if (appSettings.CloudControlServiceAddr.Assigned()) { serviceUri = appSettings.CloudControlServiceAddr; } Uri requestUri = new Uri(((serviceUri.StartsWith("http://") || serviceUri.StartsWith("https://")) ? "": "http://") + serviceUri); // var client = requestUri.NewClient(); if (!client.DefaultRequestHeaders.Contains("client_id")) { client.DefaultRequestHeaders.Add("client_id", NAFInitializationInfo.Current.AppSecurityID.ToString()); } if (!client.DefaultRequestHeaders.Contains("client_secret")) { client.DefaultRequestHeaders.Add("client_secret", Startup.GetSecuritySecret().ToString()); } return(client); }
public static Guid GetCurrentTenantId(SampleAppSettings appSettings) { return(new Guid("96db0bb9-0fa8-4210-ba7e-4d2d0fd8eb94")); // Uncoment to fetch tenantid from 'ctxid' http header //return HttpContextExtensions.GetCurrentContextId(); }
protected override void InitializeApp(IServiceCollection services) { _sampleAppSettings = NAFSettings.Current.ReadAppSettings <SampleAppSettings>(throwIfNotFound: false) ?? new SampleAppSettings(true); // If you have a singleton backend class, inject it as in below services.AddSingleton <ISampleDIService>(new SampleDIService(_sampleAppSettings)); // Add repository classes services.Scan(scan => scan.FromAssembliesOf(typeof(Repository <,>)).AddClasses(classes => classes.AssignableTo(typeof(Repository <,>)))); // Add EF related DI services services.AddScoped <DbContext, SampleAppBaseContext>(provider => { return(ResolveDbContext(provider)); }); // Add current settings services.AddSingleton(_sampleAppSettings); //Add kafka client //InternalMessagingClientExtensions.AddInternalMessagingClient(NAFSettings.Current, new NAFCore.InternalMessaging.Client.Settings.InternalMessagingClientInstanceInfo() //{ // OnReceiveMessage = (message) => // { // NLogger.Instance().Info("New message:" + message.Payload); // }, // OwnTopicsInfo = InternalMessagingHelper.Instance().GetOwnTopicsInfo(), // SubscriptionTopicIds = new System.Collections.Generic.List<string>() { "kafkadiagnose" }, // ClientType = NAFCore.InternalMessaging.Client.Settings.MessagingClientType.ProducerConsumer, //}); }
private static async Task Inner_RegisterToMenuService(SampleAppSettings appSettings, MenuRegistrationRequest newRequest) { var apiPath = MENUSERVICE_BASE_API_PATH + "/api/Menus/PostApplicationMenus?appId={0}"; apiPath = string.Format(apiPath, NAFInitializationInfo.Current.AppSecurityID.ToString()); // var client = GetMenuClient(appSettings); var content = new StringContent(NSerializer.JSONSimple.Serialize(new MenuRegistrationRequest[] { newRequest }), Encoding.UTF8, "application/json"); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var result = await client.PostAsync(apiPath, content).ConfigureAwait(false); if (!result.IsSuccessStatusCode) { var responseContent = await result.Content.ReadAsStringAsync().ConfigureAwait(false); NLogger.Instance().Error($"Menu registration error: {responseContent}"); } else { NLogger.Instance().Info($"Menu registration completed"); } }
private static async Task <JArray> Inner_GetTenantAppSettings(SampleAppSettings appSettings, Guid tenantId) { var apiPath = CLOUDCONTROLSERVICE_BASE_API_PATH + "api/tenants/{0}/applicationSegments/{1}/settings"; apiPath = string.Format(apiPath, tenantId, NAFInitializationInfo.Current.AppSecurityID.ToString()); // var client = GetCloudControlClient(appSettings); var result = await client.GetAsync(apiPath).ConfigureAwait(false); var responseContent = await result.Content.ReadAsStringAsync().ConfigureAwait(false); return(NSerializer.JSONSimple.Deserialize <JArray>(responseContent)); }
public static object GetTenantAppSettingsList(SampleAppSettings appSettings, Guid tenantId) { if (tenantId != Guid.Empty && tenantId != DefaultValueExtensions.LOGO_TenantGuid()) { object cachedSettings = null; if (!_tenantAppSettings.TryGetValue(tenantId, out cachedSettings)) { var result = Inner_GetTenantAppSettings(appSettings, tenantId).GetAwaiter().GetResult(); _tenantAppSettings.TryAdd(tenantId, result); return(result); } return(cachedSettings); } return(null); }
// GenerateSampleConfig() and supporting methods private static void GenerateSampleConfig() { var jsonHelper = _serviceProvider.GetRequiredService <IJsonHelper>(); var encryptionUtils = _serviceProvider.GetRequiredService <IEncryptionUtils>(); var environment = _serviceProvider.GetRequiredService <IEnvironmentAbstraction>(); var directory = _serviceProvider.GetRequiredService <IDirectoryAbstraction>(); var file = _serviceProvider.GetRequiredService <IFileAbstraction>(); // Generate sample configuration var config = new SampleAppSettings(); config.RnCore.Encryption.Enabled = true; config.RnCore.Encryption.Key = RandomBytesString(encryptionUtils, 8); config.RnCore.Encryption.IV = RandomBytesString(encryptionUtils, 128); config.TimeTracker.Authentication.Secret = RandomBytesString(encryptionUtils, 32); config.TimeTracker.Authentication.SessionLengthMin = 10080; var jsonConfig = jsonHelper.SerializeObject(config, true); // Ensure that the output directory exists var rootDir = environment.CurrentDirectory.AppendIfMissing("\\"); var generatedDir = $"{rootDir}generated\\"; var sampleAppSettingsFile = $"{generatedDir}appsettings.json"; if (!directory.Exists(generatedDir)) { directory.CreateDirectory(generatedDir); } // Dump generated "appsettings.json" file if (file.Exists(sampleAppSettingsFile)) { file.Delete(sampleAppSettingsFile); } file.WriteAllText(sampleAppSettingsFile, jsonConfig); // Log that we are done Console.WriteLine("======================================="); Console.WriteLine("= Sample configuration file generated ="); Console.WriteLine("======================================="); Console.WriteLine("A sample appsettings.json file was saved to:"); Console.WriteLine(); Console.WriteLine($" {sampleAppSettingsFile}"); }
/// <summary> /// /// </summary> /// <param name="setting">IDMSettings</param> internal GenericDiagnosisService(SampleAppSettings setting) { _setting = setting; Diagnoses = new List <Diagnosis>(); List <NAFGuid> serviceKeyList = new List <NAFGuid>(); List <NAFGuid> mustList = new List <NAFGuid>(); mustList.Add(ServiceList.Values.IDM); mustList.Add(ServiceList.Values.CloudControl); mustList.Add(ServiceList.Values.Menu); serviceKeyList.Add(ServiceList.Values.Settings); serviceKeyList.Add(ServiceList.Values.IDM); serviceKeyList.Add(ServiceList.Values.Menu); serviceKeyList.Add(ServiceList.Values.CloudControl); Diagnoses.AddRange(new ServiceDependencyChecker(serviceKeyList, mustList).Diagnoses); }
public SampleDIService(SampleAppSettings settings) { Settings = settings; }
public static void RegisterToMenuService(SampleAppSettings appSettings, MenuRegistrationRequest newRequest) { Inner_RegisterToMenuService(appSettings, newRequest).GetAwaiter().GetResult(); }