internal static List <string> GetExtension(ExtensionVersion version)
        {
            StringCollection collection;

            if (version == ExtensionVersion.v8)
            {
                collection = GetDefaultProperties().ExtensionV8;
            }
            else if (version == ExtensionVersion.v7)
            {
                collection = GetDefaultProperties().ExtensionV7;
            }
            else
            {
                return(null);
            }

            List <string> list = new List <string>();

            foreach (String item in collection)
            {
                list.Add(item);
            }

            return(list);
        }
        protected override void ParseChangelog(string changelog)
        {
            var result           = JsonConvert.DeserializeObject <GitHubVersion>(changelog);
            var version          = new ExtensionVersion(result.tag_name);
            var changelogStarted = false;

            foreach (string line in Regex.Split(result.body, "\r\n|\r|\n"))
            {
                if (changelogStarted)
                {
                    version.Changelog += line.Trim() + Environment.NewLine;
                }
                if (line.StartsWith("#### Changelog"))
                {
                    changelogStarted = true;
                }
            }
            version.Files = result.assets;

            PlayerControl.VideoPanel.BeginInvoke((MethodInvoker)(() =>
            {
                if (m_settings.ExtensionVersionOnServer == version)
                {
                    return;
                }

                m_settings.ExtensionVersionOnServer = version;
                m_settings.ForgetExtensionVersion = false;
            }));
        }
Esempio n. 3
0
 private ExtensionVersionListItemModel ToListItemApiModel(ExtensionVersion exVersion) =>
 new ExtensionVersionListItemModel
 {
     DetailUrl    = GetGetExtensionVersionDetailUrl(exVersion.ExtensionId, exVersion.ExtensionVersionId),
     Id           = exVersion.ExtensionVersionId,
     ReleaseNotes = exVersion.ReleaseNotes,
     Version      = exVersion.Version?.ToString()
 };
Esempio n. 4
0
        public virtual IDictionary <string, string> GetAllProperties()
        {
            SortedDictionary <string, string> properties = new SortedDictionary <string, string>();

            AddPairIfNotNull(properties, Constants.SIZE, Size.ToString("X2"));  //hexidecimal with 2 numerical places (aka a byte)
            AddPairIfNotNull(properties, Constants.EXTENSION_VERSION, ExtensionVersion.ToString());
            AddPairIfNotNull(properties, Constants.SIGNATURE, Signature.ToString("X4"));
            return(properties);
        }
Esempio n. 5
0
        public void ToString_GivenExtensionVersion_ShouldReturnExtensionAndExtensionVersionIds()
        {
            var extensionVersion = new ExtensionVersion
            {
                ExtensionId        = Guid.NewGuid().ToString(),
                ExtensionVersionId = Guid.NewGuid().ToString()
            };

            var toString = extensionVersion.ToString();

            toString.Should().Be($"{extensionVersion.ExtensionId}_{extensionVersion.ExtensionVersionId}");
        }
Esempio n. 6
0
 public static string GetExtensionVersion(bool bypassCache = false)
 {
     if (bypassCache || ExtensionVersion.GetValueOrDefault(null) == null)
     {
         var client = Program.Services.GetRequiredService <HttpClient>();
         var r      = client.GetAsync("https://api.github.com/repos/CheAle14/time-tracker/releases/latest").Result;
         if (r.IsSuccessStatusCode)
         {
             var jobj = Newtonsoft.Json.Linq.JObject.Parse(r.Content.ReadAsStringAsync().Result);
             var s    = jobj["tag_name"].ToObject <string>();
             if (s.StartsWith("v"))
             {
                 s = s[1..];
        public void CreateNewExecutionId_ValidExtensionVersionAndTenantId_ShouldHaveCorrectPrefix()
        {
            var extensionVersion = new ExtensionVersion
            {
                ExtensionId        = Guid.NewGuid().ToString(),
                ExtensionVersionId = Guid.NewGuid().ToString()
            };

            var tenantId       = Guid.NewGuid().ToString();
            var expectedPrefix = $"{extensionVersion.ExtensionId}_{extensionVersion.ExtensionVersionId}_{tenantId}_";
            var executionId    = extensionVersion.CreateNewExecutionId(tenantId);

            executionId.Should().StartWith(expectedPrefix);
        }
Esempio n. 8
0
 public static ExtensionVersionApiModel ToApiModel(this ExtensionVersion coreModel, string extensionId) =>
 new ExtensionVersionApiModel
 {
     ExecutionExpirationPeriod = coreModel.ExecutionExpirationPeriod,
     ExtensionId        = extensionId,
     Id                 = coreModel.ExtensionVersionId,
     IsActive           = coreModel.IsActive,
     IsLongRunning      = coreModel.IsLongRunning,
     ReleaseNotes       = coreModel.ReleaseNotes,
     SupportsValidation = coreModel.SupportsValidation,
     Version            = coreModel.Version,
     RequestTypeName    = coreModel.RequestTypeName,
     ResponseTypeName   = coreModel.ResponseTypeName,
     RequestTypeUrl     = coreModel.RequestTypeUrl,
     ResponseTypeUrl    = coreModel.ResponseTypeUrl
 };
 public static Core.Models.ExtensionVersion ToCoreModel(this ExtensionVersion cosmosModel) => new Core.Models.ExtensionVersion
 {
     ExecutionExpirationPeriod = cosmosModel.ExecutionExpirationPeriod,
     ExtensionId        = cosmosModel.ExtensionId,
     ExtensionVersionId = cosmosModel.ExtensionVersionId,
     InputObjects       = cosmosModel.InputObjects,
     IsActive           = cosmosModel.IsActive,
     IsLongRunning      = cosmosModel.IsLongRunning,
     OutputObjects      = cosmosModel.OutputObjects,
     ReleaseNotes       = cosmosModel.ReleaseNotes,
     SupportedServices  = cosmosModel.SupportedServices,
     SupportsValidation = cosmosModel.SupportsValidation,
     Version            = cosmosModel.Version,
     RequestTypeName    = cosmosModel.RequestTypeName,
     RequestTypeUrl     = cosmosModel.RequestTypeUrl,
     ResponseTypeName   = cosmosModel.ResponseTypeName,
     ResponseTypeUrl    = cosmosModel.ResponseTypeUrl,
     ExecutionProfiles  = cosmosModel.ExecutionProfiles.Select(p => p.Value.ToCoreModel(p.Key)).ToList()
 };
Esempio n. 10
0
 private ExtensionVersionDetailApiModel ToDetailApiModel(ExtensionVersion exVersion) =>
 new ExtensionVersionDetailApiModel
 {
     ExtensionDetailUrl = GetGetExtensionDetailUrl(exVersion.ExtensionId),
     IsLongRunning      = exVersion.IsLongRunning,
     ReleaseNotes       = exVersion.ReleaseNotes,
     SupportsValidation = exVersion.SupportsValidation,
     Version            = exVersion.Version?.ToString(),
     VersionId          = exVersion.ExtensionVersionId,
     RequestTypeName    = exVersion.RequestTypeName,
     RequestTypeUrl     = exVersion.RequestTypeUrl,
     ResponseTypeName   = exVersion.ResponseTypeName,
     ResponseTypeUrl    = exVersion.ResponseTypeUrl,
     ExecutionProfiles  = exVersion.ExecutionProfiles.ToDictionary(
         ep => ep.ProfileName,
         ep => ToDetailApiModel(ep)),
     InputObjects = exVersion.InputObjects.ToDictionary(
         io => io.Name,
         io => ToApiModel(io)),
     OutputObjects = exVersion.OutputObjects.ToDictionary(
         oo => oo.Name,
         oo => ToApiModel(oo))
 };
 /// <summary>
 /// Creates a unique, canonical execution ID.
 /// </summary>
 /// <param name="extensionVersion">The execution extension version</param>
 /// <param name="tenantId">The executor tenant ID</param>
 /// <returns></returns>
 public static string CreateNewExecutionId(this ExtensionVersion extensionVersion, string tenantId) =>
 $"{extensionVersion.ExtensionId}_{extensionVersion.ExtensionVersionId}_{tenantId}_{Guid.NewGuid()}";
Esempio n. 12
0
 public static ExecutionProfile GetExecutionProfile(this ExtensionVersion exVersion, string profileName) =>
 exVersion.ExecutionProfiles.SingleOrDefault(ep => (ep.ProfileName == profileName));
Esempio n. 13
0
 public static ExtensionOutputObject GetOutputObject(this ExtensionVersion exVersion, string objectName) =>
 exVersion.OutputObjects.SingleOrDefault(oo => (oo.Name == objectName));
Esempio n. 14
0
 public static ExtensionInputObject GetInputObject(this ExtensionVersion exVersion, string objectName) =>
 exVersion.InputObjects.SingleOrDefault(io => (io.Name == objectName));