@remnawave/subscription-page-types 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/backend/constants/language-codes.constant.d.ts +4 -4
- package/build/backend/constants/language-codes.constant.d.ts.map +1 -1
- package/build/backend/constants/subscription-page-config/subscription-page-config.contants.d.ts +0 -2
- package/build/backend/constants/subscription-page-config/subscription-page-config.contants.d.ts.map +1 -1
- package/build/backend/constants/subscription-page-config/subscription-page-config.contants.js +1 -3
- package/build/backend/models/subscription-page-config/subscription-page-config.schema.d.ts +29 -30
- package/build/backend/models/subscription-page-config/subscription-page-config.schema.d.ts.map +1 -1
- package/build/backend/models/subscription-page-config/subscription-page-config.schema.js +20 -1
- package/build/backend/models/subscription-page-config/subscription-page-config.validator.d.ts +5 -16
- package/build/backend/models/subscription-page-config/subscription-page-config.validator.d.ts.map +1 -1
- package/build/backend/models/subscription-page-config/subscription-page-config.validator.js +1 -23
- package/build/frontend/constants/subscription-page-config/subscription-page-config.contants.js +1 -3
- package/build/frontend/models/subscription-page-config/subscription-page-config.schema.js +20 -1
- package/build/frontend/models/subscription-page-config/subscription-page-config.validator.js +1 -23
- package/package.json +1 -1
|
@@ -732,8 +732,8 @@ declare const LANGUAGES_LIST: {
|
|
|
732
732
|
readonly nativeName: "isiZulu";
|
|
733
733
|
};
|
|
734
734
|
};
|
|
735
|
-
export type
|
|
736
|
-
export declare const LANGUAGE_CODES: [
|
|
735
|
+
export type TSubscriptionPageLanguageCode = keyof typeof LANGUAGES_LIST;
|
|
736
|
+
export declare const LANGUAGE_CODES: [TSubscriptionPageLanguageCode, ...TSubscriptionPageLanguageCode[]];
|
|
737
737
|
export interface ILanguageInfo {
|
|
738
738
|
name: string;
|
|
739
739
|
nativeName: string;
|
|
@@ -759,12 +759,12 @@ export declare const getLanguageNativeName: (code: string) => string;
|
|
|
759
759
|
/**
|
|
760
760
|
* Check if a string is a valid language code
|
|
761
761
|
*/
|
|
762
|
-
export declare const isLanguageCode: (code: string) => code is
|
|
762
|
+
export declare const isLanguageCode: (code: string) => code is TSubscriptionPageLanguageCode;
|
|
763
763
|
/**
|
|
764
764
|
* Get all languages as array for UI selects
|
|
765
765
|
*/
|
|
766
766
|
export declare const getLanguagesArray: () => Array<{
|
|
767
|
-
code:
|
|
767
|
+
code: TSubscriptionPageLanguageCode;
|
|
768
768
|
} & ILanguageInfo>;
|
|
769
769
|
export {};
|
|
770
770
|
//# sourceMappingURL=language-codes.constant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-codes.constant.d.ts","sourceRoot":"","sources":["../../../constants/language-codes.constant.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwLV,CAAC;AAEX,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"language-codes.constant.d.ts","sourceRoot":"","sources":["../../../constants/language-codes.constant.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwLV,CAAC;AAEX,MAAM,MAAM,6BAA6B,GAAG,MAAM,OAAO,cAAc,CAAC;AAExE,eAAO,MAAM,cAAc,EAAkC,CACzD,6BAA6B,EAC7B,GAAG,6BAA6B,EAAE,CACrC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,aAAa,GAAG,IAK9D,CAAC;AAEF;;;;GAIG;AAEH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MAK9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAKpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,6BAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAO,KAAK,CACtC;IAAE,IAAI,EAAE,6BAA6B,CAAA;CAAE,GAAG,aAAa,CAQ1D,CAAC"}
|
package/build/backend/constants/subscription-page-config/subscription-page-config.contants.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { LANGUAGE_CODES, TLanguageCode } from '../language-codes.constant';
|
|
2
1
|
export declare const SUBSCRIPTION_PAGE_CONFIG_VERSION: {
|
|
3
2
|
readonly 1: "1";
|
|
4
3
|
};
|
|
5
|
-
export { LANGUAGE_CODES, TLanguageCode };
|
|
6
4
|
export declare const SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES: {
|
|
7
5
|
readonly IOS: "ios";
|
|
8
6
|
readonly ANDROID: "android";
|
package/build/backend/constants/subscription-page-config/subscription-page-config.contants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-page-config.contants.d.ts","sourceRoot":"","sources":["../../../../constants/subscription-page-config/subscription-page-config.contants.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"subscription-page-config.contants.d.ts","sourceRoot":"","sources":["../../../../constants/subscription-page-config/subscription-page-config.contants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;CAEnC,CAAC;AAEX,eAAO,MAAM,uCAAuC;;;;;;;;CAQ1C,CAAC"}
|
package/build/backend/constants/subscription-page-config/subscription-page-config.contants.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES = exports.
|
|
4
|
-
const language_codes_constant_1 = require("../language-codes.constant");
|
|
5
|
-
Object.defineProperty(exports, "LANGUAGE_CODES", { enumerable: true, get: function () { return language_codes_constant_1.LANGUAGE_CODES; } });
|
|
3
|
+
exports.SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES = exports.SUBSCRIPTION_PAGE_CONFIG_VERSION = void 0;
|
|
6
4
|
exports.SUBSCRIPTION_PAGE_CONFIG_VERSION = {
|
|
7
5
|
1: '1',
|
|
8
6
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { TLanguageCode } from '../../constants';
|
|
3
2
|
export declare const LocalizedTextSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
|
|
4
3
|
declare const SvgLibrarySchema: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
5
4
|
declare const ButtonSchema: z.ZodObject<{
|
|
@@ -708,13 +707,6 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
708
707
|
headerText: Record<string, string>;
|
|
709
708
|
};
|
|
710
709
|
};
|
|
711
|
-
version: "1";
|
|
712
|
-
locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
|
|
713
|
-
brandingSettings: {
|
|
714
|
-
title: string;
|
|
715
|
-
logoUrl: string;
|
|
716
|
-
supportUrl: string;
|
|
717
|
-
};
|
|
718
710
|
baseTranslations: {
|
|
719
711
|
unknown: Record<string, string>;
|
|
720
712
|
status: Record<string, string>;
|
|
@@ -734,6 +726,13 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
734
726
|
expired: Record<string, string>;
|
|
735
727
|
indefinitely: Record<string, string>;
|
|
736
728
|
};
|
|
729
|
+
version: "1";
|
|
730
|
+
locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
|
|
731
|
+
brandingSettings: {
|
|
732
|
+
title: string;
|
|
733
|
+
logoUrl: string;
|
|
734
|
+
supportUrl: string;
|
|
735
|
+
};
|
|
737
736
|
svgLibrary: Record<string, string>;
|
|
738
737
|
}, {
|
|
739
738
|
platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
|
|
@@ -769,13 +768,6 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
769
768
|
headerText: Record<string, string>;
|
|
770
769
|
};
|
|
771
770
|
};
|
|
772
|
-
version: "1";
|
|
773
|
-
locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
|
|
774
|
-
brandingSettings: {
|
|
775
|
-
title: string;
|
|
776
|
-
logoUrl: string;
|
|
777
|
-
supportUrl: string;
|
|
778
|
-
};
|
|
779
771
|
baseTranslations: {
|
|
780
772
|
unknown: Record<string, string>;
|
|
781
773
|
status: Record<string, string>;
|
|
@@ -795,6 +787,13 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
795
787
|
expired: Record<string, string>;
|
|
796
788
|
indefinitely: Record<string, string>;
|
|
797
789
|
};
|
|
790
|
+
version: "1";
|
|
791
|
+
locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
|
|
792
|
+
brandingSettings: {
|
|
793
|
+
title: string;
|
|
794
|
+
logoUrl: string;
|
|
795
|
+
supportUrl: string;
|
|
796
|
+
};
|
|
798
797
|
svgLibrary: Record<string, string>;
|
|
799
798
|
}>, {
|
|
800
799
|
platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
|
|
@@ -830,13 +829,6 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
830
829
|
headerText: Record<string, string>;
|
|
831
830
|
};
|
|
832
831
|
};
|
|
833
|
-
version: "1";
|
|
834
|
-
locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
|
|
835
|
-
brandingSettings: {
|
|
836
|
-
title: string;
|
|
837
|
-
logoUrl: string;
|
|
838
|
-
supportUrl: string;
|
|
839
|
-
};
|
|
840
832
|
baseTranslations: {
|
|
841
833
|
unknown: Record<string, string>;
|
|
842
834
|
status: Record<string, string>;
|
|
@@ -856,6 +848,13 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
856
848
|
expired: Record<string, string>;
|
|
857
849
|
indefinitely: Record<string, string>;
|
|
858
850
|
};
|
|
851
|
+
version: "1";
|
|
852
|
+
locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
|
|
853
|
+
brandingSettings: {
|
|
854
|
+
title: string;
|
|
855
|
+
logoUrl: string;
|
|
856
|
+
supportUrl: string;
|
|
857
|
+
};
|
|
859
858
|
svgLibrary: Record<string, string>;
|
|
860
859
|
}, {
|
|
861
860
|
platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
|
|
@@ -891,13 +890,6 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
891
890
|
headerText: Record<string, string>;
|
|
892
891
|
};
|
|
893
892
|
};
|
|
894
|
-
version: "1";
|
|
895
|
-
locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
|
|
896
|
-
brandingSettings: {
|
|
897
|
-
title: string;
|
|
898
|
-
logoUrl: string;
|
|
899
|
-
supportUrl: string;
|
|
900
|
-
};
|
|
901
893
|
baseTranslations: {
|
|
902
894
|
unknown: Record<string, string>;
|
|
903
895
|
status: Record<string, string>;
|
|
@@ -917,6 +909,13 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
917
909
|
expired: Record<string, string>;
|
|
918
910
|
indefinitely: Record<string, string>;
|
|
919
911
|
};
|
|
912
|
+
version: "1";
|
|
913
|
+
locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
|
|
914
|
+
brandingSettings: {
|
|
915
|
+
title: string;
|
|
916
|
+
logoUrl: string;
|
|
917
|
+
supportUrl: string;
|
|
918
|
+
};
|
|
920
919
|
svgLibrary: Record<string, string>;
|
|
921
920
|
}>;
|
|
922
921
|
export type TSubscriptionPageSvgLibrary = z.infer<typeof SvgLibrarySchema>;
|
|
@@ -930,7 +929,7 @@ export type TSubscriptionPageButtonConfig = z.infer<typeof ButtonSchema>;
|
|
|
930
929
|
export type TSubscriptionPageLocalizedText = z.infer<typeof LocalizedTextSchema>;
|
|
931
930
|
export type TSubscriptionPageUiConfig = z.infer<typeof UiConfigSchema>;
|
|
932
931
|
export type TSubscriptionPageTranslateKeys = z.infer<typeof SubscriptionPageTranslateKeysSchema>;
|
|
933
|
-
export type TSubscriptionPageLocale = TLanguageCode;
|
|
934
932
|
export type TSubscriptionPageBaseTranslationKeys = keyof TSubscriptionPageTranslateKeys;
|
|
933
|
+
export declare const BASE_TRANSLATION_LABELS: Record<TSubscriptionPageBaseTranslationKeys, string>;
|
|
935
934
|
export {};
|
|
936
935
|
//# sourceMappingURL=subscription-page-config.schema.d.ts.map
|
package/build/backend/models/subscription-page-config/subscription-page-config.schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-page-config.schema.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"subscription-page-config.schema.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SubscriptionPageRawConfigSchema = exports.LocalizedTextSchema = void 0;
|
|
3
|
+
exports.BASE_TRANSLATION_LABELS = exports.SubscriptionPageRawConfigSchema = exports.LocalizedTextSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const constants_1 = require("../../constants");
|
|
6
6
|
const subscription_page_config_validator_1 = require("./subscription-page-config.validator");
|
|
@@ -105,3 +105,22 @@ exports.SubscriptionPageRawConfigSchema = zod_1.z
|
|
|
105
105
|
(0, subscription_page_config_validator_1.validateLocalizedTexts)(data, data.locales, ctx);
|
|
106
106
|
(0, subscription_page_config_validator_1.validateSvgReferences)(data, ctx);
|
|
107
107
|
});
|
|
108
|
+
exports.BASE_TRANSLATION_LABELS = {
|
|
109
|
+
linkCopied: 'Link Copied',
|
|
110
|
+
linkCopiedToClipboard: 'Link Copied to Clipboard',
|
|
111
|
+
getLink: 'Get Link',
|
|
112
|
+
scanQrCode: 'Scan QR Code',
|
|
113
|
+
scanQrCodeDescription: 'Scan QR Code Description',
|
|
114
|
+
copyLink: 'Copy Link',
|
|
115
|
+
name: 'Name',
|
|
116
|
+
status: 'Status',
|
|
117
|
+
active: 'Active',
|
|
118
|
+
inactive: 'Inactive',
|
|
119
|
+
expires: 'Expires',
|
|
120
|
+
bandwidth: 'Bandwidth',
|
|
121
|
+
scanToImport: 'Scan to Import',
|
|
122
|
+
expiresIn: 'Expires In',
|
|
123
|
+
expired: 'Expired',
|
|
124
|
+
unknown: 'Unknown',
|
|
125
|
+
indefinitely: 'Indefinitely',
|
|
126
|
+
};
|
package/build/backend/models/subscription-page-config/subscription-page-config.validator.d.ts
CHANGED
|
@@ -1,25 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
/**
|
|
4
|
-
* Валидирует что все обязательные локали присутствуют в LocalizedText полях
|
|
5
|
-
*/
|
|
2
|
+
import { TSubscriptionPageLanguageCode } from '../../constants';
|
|
6
3
|
export declare const validateLocalizedTexts: (data: {
|
|
7
|
-
locales:
|
|
4
|
+
locales: TSubscriptionPageLanguageCode[];
|
|
8
5
|
platforms: Record<string, unknown>;
|
|
9
6
|
uiConfig: unknown;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
* Валидирует что все svgIconKey ссылаются на существующие ключи в svgLibrary
|
|
13
|
-
*/
|
|
7
|
+
baseTranslations: unknown;
|
|
8
|
+
}, requiredLocales: TSubscriptionPageLanguageCode[], ctx: z.RefinementCtx) => void;
|
|
14
9
|
export declare const validateSvgReferences: (data: {
|
|
15
10
|
svgLibrary: Record<string, string>;
|
|
16
11
|
platforms: Record<string, unknown>;
|
|
17
12
|
}, ctx: z.RefinementCtx) => void;
|
|
18
|
-
|
|
19
|
-
* Очищает LocalizedText поля:
|
|
20
|
-
* - Оставляет только указанные локали
|
|
21
|
-
* - Делает trim() всем строкам
|
|
22
|
-
* - Удаляет пустые значения
|
|
23
|
-
*/
|
|
24
|
-
export declare const cleanLocalizedTexts: <T>(obj: T, activeLocales: TLanguageCode[]) => T;
|
|
13
|
+
export declare const cleanLocalizedTexts: <T>(obj: T, activeLocales: TSubscriptionPageLanguageCode[]) => T;
|
|
25
14
|
//# sourceMappingURL=subscription-page-config.validator.d.ts.map
|
package/build/backend/models/subscription-page-config/subscription-page-config.validator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-page-config.validator.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"subscription-page-config.validator.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,6BAA6B,EAAkB,MAAM,iBAAiB,CAAC;AAchF,eAAO,MAAM,sBAAsB,GAC/B,MAAM;IACF,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC7B,EACD,iBAAiB,6BAA6B,EAAE,EAChD,KAAK,CAAC,CAAC,aAAa,KACrB,IAmCF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAC9B,MAAM;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAChF,KAAK,CAAC,CAAC,aAAa,KACrB,IAwBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,EACjC,KAAK,CAAC,EACN,eAAe,6BAA6B,EAAE,KAC/C,CA2BF,CAAC"}
|
|
@@ -3,25 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.cleanLocalizedTexts = exports.validateSvgReferences = exports.validateLocalizedTexts = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const constants_1 = require("../../constants");
|
|
6
|
-
/**
|
|
7
|
-
* Проверяет что LocalizedText объект является таковым
|
|
8
|
-
* LocalizedText - это объект где ключи это языковые коды, а значения - строки
|
|
9
|
-
*/
|
|
10
6
|
const isLocalizedText = (obj) => {
|
|
11
7
|
if (obj === null || typeof obj !== 'object' || Array.isArray(obj))
|
|
12
8
|
return false;
|
|
13
9
|
const entries = Object.entries(obj);
|
|
14
10
|
if (entries.length === 0)
|
|
15
11
|
return false;
|
|
16
|
-
// Проверяем что все значения - строки (характерно для LocalizedText)
|
|
17
|
-
// и что хотя бы один ключ выглядит как языковой код (2 символа)
|
|
18
12
|
const hasStringValues = entries.every(([, value]) => typeof value === 'string');
|
|
19
13
|
const hasLanguageCodeKey = entries.some(([key]) => key.length === 2);
|
|
20
14
|
return hasStringValues && hasLanguageCodeKey;
|
|
21
15
|
};
|
|
22
|
-
/**
|
|
23
|
-
* Валидирует что все обязательные локали присутствуют в LocalizedText полях
|
|
24
|
-
*/
|
|
25
16
|
const validateLocalizedTexts = (data, requiredLocales, ctx) => {
|
|
26
17
|
const checkLocalizedText = (obj, path) => {
|
|
27
18
|
if (obj === null || typeof obj !== 'object')
|
|
@@ -51,15 +42,11 @@ const validateLocalizedTexts = (data, requiredLocales, ctx) => {
|
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
44
|
};
|
|
54
|
-
// Проверяем platforms
|
|
55
45
|
checkLocalizedText(data.platforms, 'platforms');
|
|
56
|
-
// Проверяем uiConfig
|
|
57
46
|
checkLocalizedText(data.uiConfig, 'uiConfig');
|
|
47
|
+
checkLocalizedText(data.baseTranslations, 'baseTranslations');
|
|
58
48
|
};
|
|
59
49
|
exports.validateLocalizedTexts = validateLocalizedTexts;
|
|
60
|
-
/**
|
|
61
|
-
* Валидирует что все svgIconKey ссылаются на существующие ключи в svgLibrary
|
|
62
|
-
*/
|
|
63
50
|
const validateSvgReferences = (data, ctx) => {
|
|
64
51
|
const validKeys = new Set(Object.keys(data.svgLibrary));
|
|
65
52
|
const checkSvgRef = (obj, path) => {
|
|
@@ -67,9 +54,6 @@ const validateSvgReferences = (data, ctx) => {
|
|
|
67
54
|
return;
|
|
68
55
|
for (const [key, value] of Object.entries(obj)) {
|
|
69
56
|
if (key === 'svgIconKey' && typeof value === 'string') {
|
|
70
|
-
// Пустая строка = нет иконки (для опциональных полей)
|
|
71
|
-
if (value === '')
|
|
72
|
-
continue;
|
|
73
57
|
if (!validKeys.has(value)) {
|
|
74
58
|
ctx.addIssue({
|
|
75
59
|
code: zod_1.z.ZodIssueCode.custom,
|
|
@@ -89,12 +73,6 @@ const validateSvgReferences = (data, ctx) => {
|
|
|
89
73
|
checkSvgRef(data.platforms, 'platforms');
|
|
90
74
|
};
|
|
91
75
|
exports.validateSvgReferences = validateSvgReferences;
|
|
92
|
-
/**
|
|
93
|
-
* Очищает LocalizedText поля:
|
|
94
|
-
* - Оставляет только указанные локали
|
|
95
|
-
* - Делает trim() всем строкам
|
|
96
|
-
* - Удаляет пустые значения
|
|
97
|
-
*/
|
|
98
76
|
const cleanLocalizedTexts = (obj, activeLocales) => {
|
|
99
77
|
if (obj === null || typeof obj !== 'object')
|
|
100
78
|
return obj;
|
package/build/frontend/constants/subscription-page-config/subscription-page-config.contants.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES = exports.
|
|
4
|
-
const language_codes_constant_1 = require("../language-codes.constant");
|
|
5
|
-
Object.defineProperty(exports, "LANGUAGE_CODES", { enumerable: true, get: function () { return language_codes_constant_1.LANGUAGE_CODES; } });
|
|
3
|
+
exports.SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES = exports.SUBSCRIPTION_PAGE_CONFIG_VERSION = void 0;
|
|
6
4
|
exports.SUBSCRIPTION_PAGE_CONFIG_VERSION = {
|
|
7
5
|
1: '1',
|
|
8
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SubscriptionPageRawConfigSchema = exports.LocalizedTextSchema = void 0;
|
|
3
|
+
exports.BASE_TRANSLATION_LABELS = exports.SubscriptionPageRawConfigSchema = exports.LocalizedTextSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const constants_1 = require("../../constants");
|
|
6
6
|
const subscription_page_config_validator_1 = require("./subscription-page-config.validator");
|
|
@@ -105,3 +105,22 @@ exports.SubscriptionPageRawConfigSchema = zod_1.z
|
|
|
105
105
|
(0, subscription_page_config_validator_1.validateLocalizedTexts)(data, data.locales, ctx);
|
|
106
106
|
(0, subscription_page_config_validator_1.validateSvgReferences)(data, ctx);
|
|
107
107
|
});
|
|
108
|
+
exports.BASE_TRANSLATION_LABELS = {
|
|
109
|
+
linkCopied: 'Link Copied',
|
|
110
|
+
linkCopiedToClipboard: 'Link Copied to Clipboard',
|
|
111
|
+
getLink: 'Get Link',
|
|
112
|
+
scanQrCode: 'Scan QR Code',
|
|
113
|
+
scanQrCodeDescription: 'Scan QR Code Description',
|
|
114
|
+
copyLink: 'Copy Link',
|
|
115
|
+
name: 'Name',
|
|
116
|
+
status: 'Status',
|
|
117
|
+
active: 'Active',
|
|
118
|
+
inactive: 'Inactive',
|
|
119
|
+
expires: 'Expires',
|
|
120
|
+
bandwidth: 'Bandwidth',
|
|
121
|
+
scanToImport: 'Scan to Import',
|
|
122
|
+
expiresIn: 'Expires In',
|
|
123
|
+
expired: 'Expired',
|
|
124
|
+
unknown: 'Unknown',
|
|
125
|
+
indefinitely: 'Indefinitely',
|
|
126
|
+
};
|
package/build/frontend/models/subscription-page-config/subscription-page-config.validator.js
CHANGED
|
@@ -3,25 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.cleanLocalizedTexts = exports.validateSvgReferences = exports.validateLocalizedTexts = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const constants_1 = require("../../constants");
|
|
6
|
-
/**
|
|
7
|
-
* Проверяет что LocalizedText объект является таковым
|
|
8
|
-
* LocalizedText - это объект где ключи это языковые коды, а значения - строки
|
|
9
|
-
*/
|
|
10
6
|
const isLocalizedText = (obj) => {
|
|
11
7
|
if (obj === null || typeof obj !== 'object' || Array.isArray(obj))
|
|
12
8
|
return false;
|
|
13
9
|
const entries = Object.entries(obj);
|
|
14
10
|
if (entries.length === 0)
|
|
15
11
|
return false;
|
|
16
|
-
// Проверяем что все значения - строки (характерно для LocalizedText)
|
|
17
|
-
// и что хотя бы один ключ выглядит как языковой код (2 символа)
|
|
18
12
|
const hasStringValues = entries.every(([, value]) => typeof value === 'string');
|
|
19
13
|
const hasLanguageCodeKey = entries.some(([key]) => key.length === 2);
|
|
20
14
|
return hasStringValues && hasLanguageCodeKey;
|
|
21
15
|
};
|
|
22
|
-
/**
|
|
23
|
-
* Валидирует что все обязательные локали присутствуют в LocalizedText полях
|
|
24
|
-
*/
|
|
25
16
|
const validateLocalizedTexts = (data, requiredLocales, ctx) => {
|
|
26
17
|
const checkLocalizedText = (obj, path) => {
|
|
27
18
|
if (obj === null || typeof obj !== 'object')
|
|
@@ -51,15 +42,11 @@ const validateLocalizedTexts = (data, requiredLocales, ctx) => {
|
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
44
|
};
|
|
54
|
-
// Проверяем platforms
|
|
55
45
|
checkLocalizedText(data.platforms, 'platforms');
|
|
56
|
-
// Проверяем uiConfig
|
|
57
46
|
checkLocalizedText(data.uiConfig, 'uiConfig');
|
|
47
|
+
checkLocalizedText(data.baseTranslations, 'baseTranslations');
|
|
58
48
|
};
|
|
59
49
|
exports.validateLocalizedTexts = validateLocalizedTexts;
|
|
60
|
-
/**
|
|
61
|
-
* Валидирует что все svgIconKey ссылаются на существующие ключи в svgLibrary
|
|
62
|
-
*/
|
|
63
50
|
const validateSvgReferences = (data, ctx) => {
|
|
64
51
|
const validKeys = new Set(Object.keys(data.svgLibrary));
|
|
65
52
|
const checkSvgRef = (obj, path) => {
|
|
@@ -67,9 +54,6 @@ const validateSvgReferences = (data, ctx) => {
|
|
|
67
54
|
return;
|
|
68
55
|
for (const [key, value] of Object.entries(obj)) {
|
|
69
56
|
if (key === 'svgIconKey' && typeof value === 'string') {
|
|
70
|
-
// Пустая строка = нет иконки (для опциональных полей)
|
|
71
|
-
if (value === '')
|
|
72
|
-
continue;
|
|
73
57
|
if (!validKeys.has(value)) {
|
|
74
58
|
ctx.addIssue({
|
|
75
59
|
code: zod_1.z.ZodIssueCode.custom,
|
|
@@ -89,12 +73,6 @@ const validateSvgReferences = (data, ctx) => {
|
|
|
89
73
|
checkSvgRef(data.platforms, 'platforms');
|
|
90
74
|
};
|
|
91
75
|
exports.validateSvgReferences = validateSvgReferences;
|
|
92
|
-
/**
|
|
93
|
-
* Очищает LocalizedText поля:
|
|
94
|
-
* - Оставляет только указанные локали
|
|
95
|
-
* - Делает trim() всем строкам
|
|
96
|
-
* - Удаляет пустые значения
|
|
97
|
-
*/
|
|
98
76
|
const cleanLocalizedTexts = (obj, activeLocales) => {
|
|
99
77
|
if (obj === null || typeof obj !== 'object')
|
|
100
78
|
return obj;
|