denwa-web-shared 1.0.27 → 1.0.30

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.
@@ -6497,31 +6497,114 @@ function refine(fn, _params = {}) {
6497
6497
  function superRefine(fn) {
6498
6498
  return _superRefine(fn);
6499
6499
  }
6500
+ const responseSchema = object({
6501
+ statusCode: number().optional(),
6502
+ message: string().optional().nullable(),
6503
+ messages: string().array().optional().nullable(),
6504
+ data: any().optional().nullable(),
6505
+ error: object({
6506
+ statusCode: number(),
6507
+ message: string().optional().nullable(),
6508
+ messages: string().array().optional().nullable()
6509
+ }).optional().nullable(),
6510
+ response: any().optional().nullable()
6511
+ });
6512
+ const serverImageSchema = object({
6513
+ altRU: string().optional().nullable(),
6514
+ altEN: string().optional().nullable(),
6515
+ altAR: string().optional().nullable(),
6516
+ name: string(),
6517
+ originalFileExtension: string(),
6518
+ fileExtensions: string().array(),
6519
+ prefixes: string().array(),
6520
+ folder: string().optional()
6521
+ });
6522
+ const serverFileSchema = object({
6523
+ name: string(),
6524
+ fullName: string(),
6525
+ extension: string(),
6526
+ entityId: string().uuid(),
6527
+ fullPathExample: string(),
6528
+ folder: string().optional()
6529
+ });
6500
6530
  const getUploadImageUrl = ({
6501
6531
  name,
6502
6532
  extension,
6503
6533
  entityId,
6504
6534
  prefixe,
6505
6535
  bucketFolder,
6536
+ folder,
6506
6537
  uploadUrl
6507
6538
  }) => {
6508
- return `${uploadUrl}/${bucketFolder}/${entityId}/${name}-${prefixe}.${extension}`;
6539
+ return `${uploadUrl}/${bucketFolder}/${entityId}${folder ? `/${folder}` : ""}/${name}-${prefixe}.${extension}`;
6509
6540
  };
6510
- const checkCorrectImageObject = (object$1, getError) => {
6541
+ const getUploadFileUrl = ({
6542
+ fullName,
6543
+ entityId,
6544
+ folder,
6545
+ bucketFolder,
6546
+ uploadUrl
6547
+ }) => {
6548
+ return `${uploadUrl}/${bucketFolder}/${entityId}${folder ? `/${folder}` : ""}/${fullName}`;
6549
+ };
6550
+ const checkCorrectImageObject = (object2, getError) => {
6551
+ try {
6552
+ serverImageSchema.parse(object2);
6553
+ return true;
6554
+ } catch (error) {
6555
+ getError({ error });
6556
+ return false;
6557
+ }
6558
+ };
6559
+ const checkCorrectFileObject = (object2, getError) => {
6511
6560
  try {
6512
- object({
6513
- altRU: string().optional().nullable(),
6514
- altEN: string().optional().nullable(),
6515
- name: string(),
6516
- originalFileExtension: string(),
6517
- fileExtensions: string().array()
6518
- }).parse(object$1);
6561
+ serverFileSchema.parse(object2);
6519
6562
  return true;
6520
6563
  } catch (error) {
6521
6564
  getError({ error });
6522
6565
  return false;
6523
6566
  }
6524
6567
  };
6568
+ const prepareServerFiles = ({
6569
+ files,
6570
+ bucketFolder,
6571
+ uploadUrl,
6572
+ getError
6573
+ }) => {
6574
+ if (!files)
6575
+ return {
6576
+ serverFiles: [],
6577
+ serverFilesUrls: []
6578
+ };
6579
+ try {
6580
+ const filesArray = JSON.parse(files);
6581
+ if (!Array.isArray(filesArray))
6582
+ return {
6583
+ serverFiles: [],
6584
+ serverFilesUrls: []
6585
+ };
6586
+ const serverFiles = filesArray.map((item) => {
6587
+ if (!checkCorrectFileObject(item, getError)) return null;
6588
+ return item;
6589
+ }).filter(Boolean);
6590
+ const serverFilesUrls = serverFiles.map((item) => {
6591
+ return getUploadFileUrl({
6592
+ fullName: item.name,
6593
+ entityId: item.entityId,
6594
+ folder: item.folder,
6595
+ bucketFolder,
6596
+ uploadUrl
6597
+ });
6598
+ });
6599
+ return { serverFiles, serverFilesUrls };
6600
+ } catch (error) {
6601
+ getError({ error });
6602
+ return {
6603
+ serverFiles: [],
6604
+ serverFilesUrls: []
6605
+ };
6606
+ }
6607
+ };
6525
6608
  const prepareServerImages = ({
6526
6609
  images,
6527
6610
  bucketFolder,
@@ -6678,18 +6761,6 @@ const getImagePrefix = (prefixes, type) => {
6678
6761
  return prefixes[5] ?? "";
6679
6762
  }
6680
6763
  };
6681
- const responseSchema = object({
6682
- statusCode: number().optional(),
6683
- message: string().optional().nullable(),
6684
- messages: string().array().optional().nullable(),
6685
- data: any().optional().nullable(),
6686
- error: object({
6687
- statusCode: number(),
6688
- message: string().optional().nullable(),
6689
- messages: string().array().optional().nullable()
6690
- }).optional().nullable(),
6691
- response: any().optional().nullable()
6692
- });
6693
6764
  const BasePicture = ({
6694
6765
  imgProps,
6695
6766
  data,
@@ -6770,6 +6841,7 @@ exports.BasePicture = BasePicture;
6770
6841
  exports.THEME = THEME;
6771
6842
  exports.TIME = TIME;
6772
6843
  exports.arrayToKeyValueObject = arrayToKeyValueObject;
6844
+ exports.checkCorrectFileObject = checkCorrectFileObject;
6773
6845
  exports.checkCorrectImageObject = checkCorrectImageObject;
6774
6846
  exports.cn = cn;
6775
6847
  exports.convertPhoneMask = convertPhoneMask;
@@ -6778,11 +6850,15 @@ exports.getByKey = getByKey;
6778
6850
  exports.getImagePrefix = getImagePrefix;
6779
6851
  exports.getNumberFormatter = getNumberFormatter;
6780
6852
  exports.getSubdomain = getSubdomain;
6853
+ exports.getUploadFileUrl = getUploadFileUrl;
6781
6854
  exports.getUploadImageUrl = getUploadImageUrl;
6782
6855
  exports.parseStringToKeyValue = parseStringToKeyValue;
6783
6856
  exports.prepareColor = prepareColor;
6784
6857
  exports.prepareLocalMetaData = prepareLocalMetaData;
6785
6858
  exports.preparePageParam = preparePageParam;
6859
+ exports.prepareServerFiles = prepareServerFiles;
6786
6860
  exports.prepareServerImages = prepareServerImages;
6787
6861
  exports.responseSchema = responseSchema;
6862
+ exports.serverFileSchema = serverFileSchema;
6863
+ exports.serverImageSchema = serverImageSchema;
6788
6864
  exports.updateTextByTemplate = updateTextByTemplate;
@@ -6495,31 +6495,114 @@ function refine(fn, _params = {}) {
6495
6495
  function superRefine(fn) {
6496
6496
  return _superRefine(fn);
6497
6497
  }
6498
+ const responseSchema = object({
6499
+ statusCode: number().optional(),
6500
+ message: string().optional().nullable(),
6501
+ messages: string().array().optional().nullable(),
6502
+ data: any().optional().nullable(),
6503
+ error: object({
6504
+ statusCode: number(),
6505
+ message: string().optional().nullable(),
6506
+ messages: string().array().optional().nullable()
6507
+ }).optional().nullable(),
6508
+ response: any().optional().nullable()
6509
+ });
6510
+ const serverImageSchema = object({
6511
+ altRU: string().optional().nullable(),
6512
+ altEN: string().optional().nullable(),
6513
+ altAR: string().optional().nullable(),
6514
+ name: string(),
6515
+ originalFileExtension: string(),
6516
+ fileExtensions: string().array(),
6517
+ prefixes: string().array(),
6518
+ folder: string().optional()
6519
+ });
6520
+ const serverFileSchema = object({
6521
+ name: string(),
6522
+ fullName: string(),
6523
+ extension: string(),
6524
+ entityId: string().uuid(),
6525
+ fullPathExample: string(),
6526
+ folder: string().optional()
6527
+ });
6498
6528
  const getUploadImageUrl = ({
6499
6529
  name,
6500
6530
  extension,
6501
6531
  entityId,
6502
6532
  prefixe,
6503
6533
  bucketFolder,
6534
+ folder,
6504
6535
  uploadUrl
6505
6536
  }) => {
6506
- return `${uploadUrl}/${bucketFolder}/${entityId}/${name}-${prefixe}.${extension}`;
6537
+ return `${uploadUrl}/${bucketFolder}/${entityId}${folder ? `/${folder}` : ""}/${name}-${prefixe}.${extension}`;
6507
6538
  };
6508
- const checkCorrectImageObject = (object$1, getError) => {
6539
+ const getUploadFileUrl = ({
6540
+ fullName,
6541
+ entityId,
6542
+ folder,
6543
+ bucketFolder,
6544
+ uploadUrl
6545
+ }) => {
6546
+ return `${uploadUrl}/${bucketFolder}/${entityId}${folder ? `/${folder}` : ""}/${fullName}`;
6547
+ };
6548
+ const checkCorrectImageObject = (object2, getError) => {
6549
+ try {
6550
+ serverImageSchema.parse(object2);
6551
+ return true;
6552
+ } catch (error) {
6553
+ getError({ error });
6554
+ return false;
6555
+ }
6556
+ };
6557
+ const checkCorrectFileObject = (object2, getError) => {
6509
6558
  try {
6510
- object({
6511
- altRU: string().optional().nullable(),
6512
- altEN: string().optional().nullable(),
6513
- name: string(),
6514
- originalFileExtension: string(),
6515
- fileExtensions: string().array()
6516
- }).parse(object$1);
6559
+ serverFileSchema.parse(object2);
6517
6560
  return true;
6518
6561
  } catch (error) {
6519
6562
  getError({ error });
6520
6563
  return false;
6521
6564
  }
6522
6565
  };
6566
+ const prepareServerFiles = ({
6567
+ files,
6568
+ bucketFolder,
6569
+ uploadUrl,
6570
+ getError
6571
+ }) => {
6572
+ if (!files)
6573
+ return {
6574
+ serverFiles: [],
6575
+ serverFilesUrls: []
6576
+ };
6577
+ try {
6578
+ const filesArray = JSON.parse(files);
6579
+ if (!Array.isArray(filesArray))
6580
+ return {
6581
+ serverFiles: [],
6582
+ serverFilesUrls: []
6583
+ };
6584
+ const serverFiles = filesArray.map((item) => {
6585
+ if (!checkCorrectFileObject(item, getError)) return null;
6586
+ return item;
6587
+ }).filter(Boolean);
6588
+ const serverFilesUrls = serverFiles.map((item) => {
6589
+ return getUploadFileUrl({
6590
+ fullName: item.name,
6591
+ entityId: item.entityId,
6592
+ folder: item.folder,
6593
+ bucketFolder,
6594
+ uploadUrl
6595
+ });
6596
+ });
6597
+ return { serverFiles, serverFilesUrls };
6598
+ } catch (error) {
6599
+ getError({ error });
6600
+ return {
6601
+ serverFiles: [],
6602
+ serverFilesUrls: []
6603
+ };
6604
+ }
6605
+ };
6523
6606
  const prepareServerImages = ({
6524
6607
  images,
6525
6608
  bucketFolder,
@@ -6676,18 +6759,6 @@ const getImagePrefix = (prefixes, type) => {
6676
6759
  return prefixes[5] ?? "";
6677
6760
  }
6678
6761
  };
6679
- const responseSchema = object({
6680
- statusCode: number().optional(),
6681
- message: string().optional().nullable(),
6682
- messages: string().array().optional().nullable(),
6683
- data: any().optional().nullable(),
6684
- error: object({
6685
- statusCode: number(),
6686
- message: string().optional().nullable(),
6687
- messages: string().array().optional().nullable()
6688
- }).optional().nullable(),
6689
- response: any().optional().nullable()
6690
- });
6691
6762
  const BasePicture = ({
6692
6763
  imgProps,
6693
6764
  data,
@@ -6769,6 +6840,7 @@ export {
6769
6840
  THEME,
6770
6841
  TIME,
6771
6842
  arrayToKeyValueObject,
6843
+ checkCorrectFileObject,
6772
6844
  checkCorrectImageObject,
6773
6845
  cn,
6774
6846
  convertPhoneMask,
@@ -6777,12 +6849,16 @@ export {
6777
6849
  getImagePrefix,
6778
6850
  getNumberFormatter,
6779
6851
  getSubdomain,
6852
+ getUploadFileUrl,
6780
6853
  getUploadImageUrl,
6781
6854
  parseStringToKeyValue,
6782
6855
  prepareColor,
6783
6856
  prepareLocalMetaData,
6784
6857
  preparePageParam,
6858
+ prepareServerFiles,
6785
6859
  prepareServerImages,
6786
6860
  responseSchema,
6861
+ serverFileSchema,
6862
+ serverImageSchema,
6787
6863
  updateTextByTemplate
6788
6864
  };
@@ -1,4 +1,4 @@
1
- import { IPreparedServerImage, IServerImage } from '../types';
1
+ import { GetErrorType, IPreparedServerImage, IServerFile, IServerImage } from '../types';
2
2
  /**
3
3
  * @description Создает url картинки
4
4
  * @param {string} name - название картинки
@@ -7,26 +7,64 @@ import { IPreparedServerImage, IServerImage } from '../types';
7
7
  * @param {string} bucketName - название бакета картинки
8
8
  * @param {string} prefixe - префикс файла
9
9
  * @param {string} uploadUrl - url бакета
10
+ * @param {string | undefined} folder - подпапка
10
11
  * @param bucketFolder - enum с папкой бакета
11
12
  * @response Возвращает url
12
13
  */
13
- export declare const getUploadImageUrl: <T>({ name, extension, entityId, prefixe, bucketFolder, uploadUrl, }: {
14
+ export declare const getUploadImageUrl: <T>({ name, extension, entityId, prefixe, bucketFolder, folder, uploadUrl, }: {
14
15
  name: string;
15
16
  extension: string;
16
17
  entityId: string;
17
18
  prefixe: string;
18
19
  uploadUrl: string;
20
+ folder?: string;
21
+ bucketFolder: T;
22
+ }) => string;
23
+ /**
24
+ * @description Создает url файла
25
+ * @param { string } fullName - название файла
26
+ * @param { string } entityId - id сущности
27
+ * @param { string | undefined } folder - название подпапки
28
+ * @param { string } uploadUrl - url бакета
29
+ * @param bucketFolder - enum с папкой бакета
30
+ * @response Возвращает url
31
+ */
32
+ export declare const getUploadFileUrl: <T>({ fullName, entityId, folder, bucketFolder, uploadUrl, }: {
33
+ fullName: string;
34
+ entityId: string;
35
+ folder?: string;
36
+ uploadUrl: string;
19
37
  bucketFolder: T;
20
38
  }) => string;
21
39
  /**
22
40
  * @description Проверяет валидность объекта картинки по схеме
23
41
  * @param {object} object - объект с информацией о картинке
24
- * @param getError - функция обработки ошибок
25
42
  * @response Возвращает true/false
26
43
  */
27
- export declare const checkCorrectImageObject: (object: IServerImage, getError: ({ error }: {
28
- error: unknown;
29
- }) => void) => boolean;
44
+ export declare const checkCorrectImageObject: (object: IServerImage, getError: GetErrorType) => boolean;
45
+ /**
46
+ * @description Проверяет валидность объекта файла по схеме
47
+ * @param {object} object - объект с информацией о файле
48
+ * @response Возвращает true/false
49
+ */
50
+ export declare const checkCorrectFileObject: (object: IServerFile, getError: GetErrorType) => boolean;
51
+ /**
52
+ * @description Преобразует файлы с сервера в формат для работы
53
+ * @param {string | undefined | null} files - json stringify строка с информацией
54
+ * @param bucketFolder - название папки в бакете
55
+ * @param uploadUrl - url бакета
56
+ * @param getError - функция обработки ошибок
57
+ * @response Возвращает массив с подготовленными файлами
58
+ */
59
+ export declare const prepareServerFiles: <T>({ files, bucketFolder, uploadUrl, getError, }: {
60
+ files: string | undefined | null;
61
+ bucketFolder: T;
62
+ uploadUrl: string;
63
+ getError: GetErrorType;
64
+ }) => {
65
+ serverFiles: IServerFile[];
66
+ serverFilesUrls: string[];
67
+ };
30
68
  /**
31
69
  * @description Преобразует фотографии с сервера в формат для работы
32
70
  * @param {string | undefined | null} images - json stringify строка с информацией
@@ -39,8 +77,6 @@ export declare const prepareServerImages: <T>({ images, bucketFolder, uploadUrl,
39
77
  images: string | undefined | null;
40
78
  bucketFolder: T;
41
79
  uploadUrl: string;
42
- getError: ({ error }: {
43
- error: unknown;
44
- }) => void;
80
+ getError: GetErrorType;
45
81
  }) => IPreparedServerImage[];
46
82
  export declare const getImagePrefix: (prefixes: string[], type: "original" | "0.25hd" | "0.5hd" | "1hd" | "2hd" | "4hd") => string;
@@ -1,3 +1,3 @@
1
1
  export * from './utils';
2
2
  export * from './css';
3
- export * from './images';
3
+ export * from './files';
@@ -11,3 +11,21 @@ export declare const responseSchema: z.ZodObject<{
11
11
  }, z.core.$strip>>>;
12
12
  response: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
13
13
  }, z.core.$strip>;
14
+ export declare const serverImageSchema: z.ZodObject<{
15
+ altRU: z.ZodNullable<z.ZodOptional<z.ZodString>>;
16
+ altEN: z.ZodNullable<z.ZodOptional<z.ZodString>>;
17
+ altAR: z.ZodNullable<z.ZodOptional<z.ZodString>>;
18
+ name: z.ZodString;
19
+ originalFileExtension: z.ZodString;
20
+ fileExtensions: z.ZodArray<z.ZodString>;
21
+ prefixes: z.ZodArray<z.ZodString>;
22
+ folder: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ export declare const serverFileSchema: z.ZodObject<{
25
+ name: z.ZodString;
26
+ fullName: z.ZodString;
27
+ extension: z.ZodString;
28
+ entityId: z.ZodString;
29
+ fullPathExample: z.ZodString;
30
+ folder: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strip>;
@@ -1,13 +1,23 @@
1
1
  export interface IServerImage {
2
2
  altRU?: string;
3
3
  altEN?: string;
4
+ altAR?: string;
4
5
  name: string;
5
6
  originalFileExtension: string;
6
7
  entityId: string;
7
8
  fullPathExample: string;
9
+ folder?: string;
8
10
  prefixes: string[];
9
11
  fileExtensions: string[];
10
12
  }
13
+ export interface IServerFile {
14
+ name: string;
15
+ fullName: string;
16
+ extension: string;
17
+ entityId: string;
18
+ fullPathExample: string;
19
+ folder?: string;
20
+ }
11
21
  export interface IPreparedServerImage {
12
22
  image1x: string;
13
23
  image2x: string;
@@ -23,6 +33,7 @@ export interface IPreparedServerImage {
23
33
  mobileImage2xAvif?: string;
24
34
  altRU?: string;
25
35
  altEN?: string;
36
+ altAR?: string;
26
37
  type: ImageType;
27
38
  }
28
39
  export type ImageType = 'image/png' | 'image/jpeg';
@@ -44,3 +55,7 @@ export interface PaginationResult {
44
55
  firstPage?: PaginationButton;
45
56
  lastPage?: PaginationButton;
46
57
  }
58
+ export type GetErrorType = ({ error, message }: {
59
+ error?: unknown;
60
+ message?: string;
61
+ }) => void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "denwa-web-shared",
3
3
  "private": false,
4
- "version": "1.0.27",
4
+ "version": "1.0.30",
5
5
  "type": "module",
6
6
  "author": "Denwa",
7
7
  "main": "dist/denwa-web-shared.cjs.js",