@cranberry-money/shared-constants 5.0.0 → 5.1.1

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.
Files changed (81) hide show
  1. package/dist/api/auth.d.ts +28 -12
  2. package/dist/api/auth.d.ts.map +1 -1
  3. package/dist/api/auth.js +32 -14
  4. package/dist/api/config.d.ts.map +1 -1
  5. package/dist/api/config.js +8 -11
  6. package/dist/business/accounts.d.ts +1 -1
  7. package/dist/business/accounts.d.ts.map +1 -1
  8. package/dist/business/accounts.js +2 -3
  9. package/dist/business/bank-accounts.d.ts +17 -10
  10. package/dist/business/bank-accounts.d.ts.map +1 -1
  11. package/dist/business/bank-accounts.js +24 -16
  12. package/dist/business/documents.d.ts +12 -6
  13. package/dist/business/documents.d.ts.map +1 -1
  14. package/dist/business/documents.js +11 -11
  15. package/dist/business/index.d.ts +0 -1
  16. package/dist/business/index.d.ts.map +1 -1
  17. package/dist/business/index.js +0 -2
  18. package/dist/business/status/banks.d.ts +0 -6
  19. package/dist/business/status/banks.d.ts.map +1 -1
  20. package/dist/business/status/banks.js +0 -6
  21. package/dist/business/status/cash-accounts.d.ts.map +1 -1
  22. package/dist/business/status/cash-accounts.js +3 -4
  23. package/dist/business/status/documents.d.ts +4 -4
  24. package/dist/business/status/documents.d.ts.map +1 -1
  25. package/dist/business/status/documents.js +10 -9
  26. package/dist/business/status/portfolios.d.ts +0 -6
  27. package/dist/business/status/portfolios.d.ts.map +1 -1
  28. package/dist/business/status/portfolios.js +0 -6
  29. package/dist/business/status/trades.d.ts +12 -15
  30. package/dist/business/status/trades.d.ts.map +1 -1
  31. package/dist/business/status/trades.js +29 -33
  32. package/dist/business/status/withdrawals.d.ts +19 -18
  33. package/dist/business/status/withdrawals.d.ts.map +1 -1
  34. package/dist/business/status/withdrawals.js +28 -40
  35. package/dist/financial/currency.d.ts +0 -16
  36. package/dist/financial/currency.d.ts.map +1 -1
  37. package/dist/financial/currency.js +10 -25
  38. package/dist/financial/formatting.d.ts +1 -1
  39. package/dist/financial/formatting.d.ts.map +1 -1
  40. package/dist/financial/formatting.js +32 -20
  41. package/dist/index.d.ts +0 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +0 -4
  44. package/dist/ui/colors.d.ts +10 -10
  45. package/dist/ui/colors.d.ts.map +1 -1
  46. package/dist/ui/colors.js +25 -28
  47. package/dist/ui/index.d.ts +0 -1
  48. package/dist/ui/index.d.ts.map +1 -1
  49. package/dist/ui/index.js +0 -1
  50. package/dist/utilities/common.d.ts +20 -10
  51. package/dist/utilities/common.d.ts.map +1 -1
  52. package/dist/utilities/common.js +31 -14
  53. package/dist/utilities/defaults.d.ts.map +1 -1
  54. package/dist/utilities/defaults.js +28 -35
  55. package/dist/utilities/validation.d.ts.map +1 -1
  56. package/dist/utilities/validation.js +2 -3
  57. package/package.json +1 -1
  58. package/dist/business/holdings.d.ts +0 -34
  59. package/dist/business/holdings.d.ts.map +0 -1
  60. package/dist/business/holdings.js +0 -34
  61. package/dist/common/index.d.ts +0 -2
  62. package/dist/common/index.d.ts.map +0 -1
  63. package/dist/common/index.js +0 -1
  64. package/dist/common/statuses.d.ts +0 -20
  65. package/dist/common/statuses.d.ts.map +0 -1
  66. package/dist/common/statuses.js +0 -19
  67. package/dist/config/defaults.d.ts +0 -79
  68. package/dist/config/defaults.d.ts.map +0 -1
  69. package/dist/config/defaults.js +0 -77
  70. package/dist/config/index.d.ts +0 -8
  71. package/dist/config/index.d.ts.map +0 -1
  72. package/dist/config/index.js +0 -7
  73. package/dist/config/pagination.d.ts +0 -28
  74. package/dist/config/pagination.d.ts.map +0 -1
  75. package/dist/config/pagination.js +0 -40
  76. package/dist/config/thresholds.d.ts +0 -65
  77. package/dist/config/thresholds.d.ts.map +0 -1
  78. package/dist/config/thresholds.js +0 -82
  79. package/dist/ui/status-colors-unified.d.ts +0 -91
  80. package/dist/ui/status-colors-unified.d.ts.map +0 -1
  81. package/dist/ui/status-colors-unified.js +0 -106
package/dist/ui/index.js CHANGED
@@ -4,4 +4,3 @@
4
4
  export * from './colors';
5
5
  export * from './display';
6
6
  export * from './labels';
7
- export * from './status-colors-unified';
@@ -2,28 +2,38 @@
2
2
  * Common shared constants
3
3
  * These match the constants from Blueberry's src/constants/common.ts
4
4
  */
5
- export declare const DECIMAL_PLACES: 2;
6
- export declare const DEFAULT_NUMERIC_ZERO: 0;
7
- export declare const DEFAULT_EMPTY_STRING: "";
5
+ export declare const DECIMAL_PLACES = 2;
6
+ export declare const DEFAULT_NUMERIC_ZERO = 0;
7
+ export declare const DEFAULT_EMPTY_STRING = "";
8
+ export declare const QUANTITY_FORMAT_THRESHOLD: {
9
+ readonly MILLION: 1000000;
10
+ readonly THOUSAND: 1000;
11
+ };
8
12
  export declare const QUANTITY_FORMAT_THRESHOLD_MILLION: 1000000;
9
13
  export declare const QUANTITY_FORMAT_THRESHOLD_THOUSAND: 1000;
10
- export declare const ERROR_TYPE_BUSINESS_LOGIC = "business_logic";
11
- export declare const ERROR_TYPE_PERMISSION = "permission";
12
- export declare const ERROR_TYPE_SERVER = "server";
13
- export declare const LOCALE_AUSTRALIA: "en-AU";
14
+ export declare const ERROR_TYPE: {
15
+ readonly BUSINESS_LOGIC: "business_logic";
16
+ readonly PERMISSION: "permission";
17
+ readonly SERVER: "server";
18
+ };
19
+ export type ErrorType = (typeof ERROR_TYPE)[keyof typeof ERROR_TYPE];
20
+ export declare const ERROR_TYPE_BUSINESS_LOGIC: "business_logic";
21
+ export declare const ERROR_TYPE_PERMISSION: "permission";
22
+ export declare const ERROR_TYPE_SERVER: "server";
23
+ export declare const LOCALE_AUSTRALIA = "en-AU";
14
24
  export declare const NUMBER_FORMAT_OPTIONS_CURRENCY: {
15
25
  readonly style: "currency";
16
26
  readonly minimumFractionDigits: 2;
17
27
  readonly maximumFractionDigits: 2;
18
28
  };
19
29
  export declare const NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED: {
30
+ readonly signDisplay: "always";
20
31
  readonly style: "currency";
21
32
  readonly minimumFractionDigits: 2;
22
33
  readonly maximumFractionDigits: 2;
23
- readonly signDisplay: "always";
24
34
  };
25
35
  export declare const QUERY_PARAM_ORDER_BY = "order_by";
26
36
  export declare const ORDER_BY_CREATED_AT = "created_at";
27
- export declare const DEFAULT_UNKNOWN_VALUE: "Unknown";
28
- export declare const DEFAULT_ERROR_MESSAGE: "An error occurred";
37
+ export declare const DEFAULT_UNKNOWN_VALUE = "Unknown";
38
+ export declare const DEFAULT_ERROR_MESSAGE = "An error occurred";
29
39
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utilities/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,cAAc,GAAqC,CAAC;AAGjE,eAAO,MAAM,oBAAoB,GAAuB,CAAC;AACzD,eAAO,MAAM,oBAAoB,IAAwB,CAAC;AAG1D,eAAO,MAAM,iCAAiC,SAA4B,CAAC;AAC3E,eAAO,MAAM,kCAAkC,MAA6B,CAAC;AAG7E,eAAO,MAAM,yBAAyB,mBAAmB,CAAC;AAC1D,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,gBAAgB,SAAwB,CAAC;AAGtD,eAAO,MAAM,8BAA8B;;;;CAAkC,CAAC;AAE9E,eAAO,MAAM,qCAAqC;;;;;CAAyC,CAAC;AAG5F,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAGhD,eAAO,MAAM,qBAAqB,WAA0B,CAAC;AAC7D,eAAO,MAAM,qBAAqB,qBAAgC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utilities/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,cAAc,IAAI,CAAC;AAGhC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAGX,eAAO,MAAM,iCAAiC,SAAoC,CAAC;AACnF,eAAO,MAAM,kCAAkC,MAAqC,CAAC;AAGrF,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAGrE,eAAO,MAAM,yBAAyB,kBAA4B,CAAC;AACnE,eAAO,MAAM,qBAAqB,cAAwB,CAAC;AAC3D,eAAO,MAAM,iBAAiB,UAAoB,CAAC;AAGnD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAGxC,eAAO,MAAM,8BAA8B;;;;CAIjC,CAAC;AAEX,eAAO,MAAM,qCAAqC;;;;;CAGxC,CAAC;AAGX,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAGhD,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,qBAAqB,sBAAsB,CAAC"}
@@ -2,27 +2,44 @@
2
2
  * Common shared constants
3
3
  * These match the constants from Blueberry's src/constants/common.ts
4
4
  */
5
- import { COMMON_THRESHOLDS, DEFAULT_STRINGS, DEFAULT_NUMBERS, LOCALE_CONFIG, DEFAULT_FORMAT_OPTIONS } from '../config';
6
5
  // Number formatting
7
- export const DECIMAL_PLACES = COMMON_THRESHOLDS.DEFAULT_DECIMALS;
6
+ export const DECIMAL_PLACES = 2;
8
7
  // Default numeric values
9
- export const DEFAULT_NUMERIC_ZERO = DEFAULT_NUMBERS.ZERO;
10
- export const DEFAULT_EMPTY_STRING = DEFAULT_STRINGS.EMPTY;
8
+ export const DEFAULT_NUMERIC_ZERO = 0;
9
+ export const DEFAULT_EMPTY_STRING = '';
11
10
  // Quantity formatting thresholds
12
- export const QUANTITY_FORMAT_THRESHOLD_MILLION = COMMON_THRESHOLDS.MILLION;
13
- export const QUANTITY_FORMAT_THRESHOLD_THOUSAND = COMMON_THRESHOLDS.THOUSAND;
11
+ export const QUANTITY_FORMAT_THRESHOLD = {
12
+ MILLION: 1000000,
13
+ THOUSAND: 1000,
14
+ };
15
+ // Backward compatibility: individual exports
16
+ export const QUANTITY_FORMAT_THRESHOLD_MILLION = QUANTITY_FORMAT_THRESHOLD.MILLION;
17
+ export const QUANTITY_FORMAT_THRESHOLD_THOUSAND = QUANTITY_FORMAT_THRESHOLD.THOUSAND;
14
18
  // Error types
15
- export const ERROR_TYPE_BUSINESS_LOGIC = 'business_logic';
16
- export const ERROR_TYPE_PERMISSION = 'permission';
17
- export const ERROR_TYPE_SERVER = 'server';
19
+ export const ERROR_TYPE = {
20
+ BUSINESS_LOGIC: 'business_logic',
21
+ PERMISSION: 'permission',
22
+ SERVER: 'server',
23
+ };
24
+ // Backward compatibility: individual exports
25
+ export const ERROR_TYPE_BUSINESS_LOGIC = ERROR_TYPE.BUSINESS_LOGIC;
26
+ export const ERROR_TYPE_PERMISSION = ERROR_TYPE.PERMISSION;
27
+ export const ERROR_TYPE_SERVER = ERROR_TYPE.SERVER;
18
28
  // Locale and formatting constants
19
- export const LOCALE_AUSTRALIA = LOCALE_CONFIG.DEFAULT;
29
+ export const LOCALE_AUSTRALIA = 'en-AU';
20
30
  // Number formatting options
21
- export const NUMBER_FORMAT_OPTIONS_CURRENCY = DEFAULT_FORMAT_OPTIONS.CURRENCY;
22
- export const NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED = DEFAULT_FORMAT_OPTIONS.CURRENCY_SIGNED;
31
+ export const NUMBER_FORMAT_OPTIONS_CURRENCY = {
32
+ style: 'currency',
33
+ minimumFractionDigits: DECIMAL_PLACES,
34
+ maximumFractionDigits: DECIMAL_PLACES,
35
+ };
36
+ export const NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED = {
37
+ ...NUMBER_FORMAT_OPTIONS_CURRENCY,
38
+ signDisplay: 'always',
39
+ };
23
40
  // Query parameter constants
24
41
  export const QUERY_PARAM_ORDER_BY = 'order_by';
25
42
  export const ORDER_BY_CREATED_AT = 'created_at';
26
43
  // Default strings for auth
27
- export const DEFAULT_UNKNOWN_VALUE = DEFAULT_STRINGS.UNKNOWN;
28
- export const DEFAULT_ERROR_MESSAGE = DEFAULT_STRINGS.ERROR_MESSAGE;
44
+ export const DEFAULT_UNKNOWN_VALUE = 'Unknown';
45
+ export const DEFAULT_ERROR_MESSAGE = 'An error occurred';
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/utilities/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAIX,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAIX,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAIX,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAIX,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAIX,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/utilities/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAGX,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAGX,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAGX,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAGX,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC"}
@@ -1,57 +1,50 @@
1
1
  /**
2
2
  * Default values and common constants
3
3
  */
4
- import { DEFAULT_STRINGS, DEFAULT_NUMBERS, PAGINATION_CONFIG, COMMON_THRESHOLDS, CONFIG_ALLOCATION_DEFAULTS, } from '../config';
5
4
  // Default values
6
- // Now references consolidated defaults
7
5
  export const DEFAULT_VALUES = {
8
- ZERO: DEFAULT_STRINGS.ZERO,
9
- EMPTY_STRING: DEFAULT_STRINGS.EMPTY,
10
- UNKNOWN: 'UNKNOWN', // Different from DEFAULT_STRINGS.UNKNOWN ('Unknown')
11
- NOT_APPLICABLE: DEFAULT_STRINGS.NOT_APPLICABLE,
12
- NULL_UUID: DEFAULT_STRINGS.NULL_UUID,
6
+ ZERO: '0',
7
+ EMPTY_STRING: '',
8
+ UNKNOWN: 'UNKNOWN',
9
+ NOT_APPLICABLE: 'N/A',
10
+ NULL_UUID: '00000000-0000-0000-0000-000000000000',
13
11
  };
14
12
  // Numeric defaults
15
- // Now references consolidated thresholds
16
13
  export const NUMERIC_DEFAULTS = {
17
- MIN_AMOUNT: DEFAULT_NUMBERS.ZERO,
18
- MAX_AMOUNT: 999999999.99, // Keep specific value
19
- DEFAULT_PRECISION: DEFAULT_NUMBERS.PRECISION,
20
- PERCENTAGE_PRECISION: DEFAULT_NUMBERS.PERCENTAGE_PRECISION,
21
- QUANTITY_PRECISION: DEFAULT_NUMBERS.QUANTITY_PRECISION,
14
+ MIN_AMOUNT: 0,
15
+ MAX_AMOUNT: 999999999.99,
16
+ DEFAULT_PRECISION: 2,
17
+ PERCENTAGE_PRECISION: 2,
18
+ QUANTITY_PRECISION: 6,
22
19
  };
23
20
  // Pagination defaults
24
- // @deprecated Use PAGINATION_CONFIG from config/pagination instead
25
21
  export const PAGINATION_DEFAULTS = {
26
- PAGE: PAGINATION_CONFIG.DEFAULT_PAGE,
27
- PAGE_SIZE: PAGINATION_CONFIG.DEFAULT_PAGE_SIZE,
28
- MIN_PAGE_SIZE: PAGINATION_CONFIG.MIN_PAGE_SIZE,
29
- MAX_PAGE_SIZE: PAGINATION_CONFIG.MAX_PAGE_SIZE,
30
- PAGE_SIZE_OPTIONS: PAGINATION_CONFIG.PAGE_SIZE_OPTIONS,
22
+ PAGE: 1,
23
+ PAGE_SIZE: 20,
24
+ MIN_PAGE_SIZE: 1,
25
+ MAX_PAGE_SIZE: 100,
26
+ PAGE_SIZE_OPTIONS: [10, 20, 50, 100],
31
27
  };
32
28
  // Common thresholds
33
- // Now references consolidated thresholds
34
29
  export const THRESHOLDS = {
35
- MIN_PORTFOLIO_VALUE: COMMON_THRESHOLDS.MIN_PORTFOLIO_VALUE,
36
- MIN_TRADE_AMOUNT: COMMON_THRESHOLDS.MIN_TRADE_AMOUNT,
37
- MIN_WITHDRAWAL_AMOUNT: COMMON_THRESHOLDS.MIN_WITHDRAWAL_AMOUNT,
38
- MAX_PORTFOLIOS_PER_USER: COMMON_THRESHOLDS.MAX_PORTFOLIOS_PER_USER,
39
- MAX_TRADES_PER_DAY: COMMON_THRESHOLDS.MAX_TRADES_PER_DAY,
30
+ MIN_PORTFOLIO_VALUE: 1000,
31
+ MIN_TRADE_AMOUNT: 10,
32
+ MIN_WITHDRAWAL_AMOUNT: 100,
33
+ MAX_PORTFOLIOS_PER_USER: 10,
34
+ MAX_TRADES_PER_DAY: 100,
40
35
  };
41
36
  // Display limits
42
- // Now references consolidated thresholds
43
37
  export const DISPLAY_LIMITS = {
44
- MAX_NAME_LENGTH: COMMON_THRESHOLDS.MAX_NAME_LENGTH,
45
- MAX_DESCRIPTION_LENGTH: COMMON_THRESHOLDS.MAX_DESCRIPTION_LENGTH,
46
- MAX_NOTES_LENGTH: COMMON_THRESHOLDS.MAX_NOTES_LENGTH,
47
- MAX_FILE_SIZE_MB: COMMON_THRESHOLDS.MAX_FILE_SIZE_MB,
48
- MAX_FILE_NAME_LENGTH: COMMON_THRESHOLDS.MAX_FILE_NAME_LENGTH,
38
+ MAX_NAME_LENGTH: 100,
39
+ MAX_DESCRIPTION_LENGTH: 500,
40
+ MAX_NOTES_LENGTH: 1000,
41
+ MAX_FILE_SIZE_MB: 10,
42
+ MAX_FILE_NAME_LENGTH: 255,
49
43
  };
50
44
  // Asset allocation defaults
51
- // Now references consolidated defaults
52
45
  export const ALLOCATION_DEFAULTS = {
53
- DEFAULT_PERCENTAGE: CONFIG_ALLOCATION_DEFAULTS.DEFAULT_PERCENTAGE,
54
- PERCENTAGE_PRECISION: CONFIG_ALLOCATION_DEFAULTS.PERCENTAGE_PRECISION,
55
- TARGET_TOTAL: CONFIG_ALLOCATION_DEFAULTS.TARGET_TOTAL,
46
+ DEFAULT_PERCENTAGE: 10,
47
+ PERCENTAGE_PRECISION: 0.01,
48
+ TARGET_TOTAL: 100,
56
49
  };
57
50
  // Note: DEFAULT_UNKNOWN_VALUE and DEFAULT_ERROR_MESSAGE are already exported from common.ts
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utilities/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,cAAc;;;;;;;;;;;CAWjB,CAAC;AAGX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCnB,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;;;iCAMR,MAAM,OAAO,MAAM;iCACnB,MAAM,OAAO,MAAM;gCACpB,MAAM,OAAO,MAAM;gCACnB,MAAM,OAAO,MAAM;qCACd,MAAM;;CAEtB,CAAC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utilities/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,cAAc;;;;;;;;;;;CAWjB,CAAC;AAGX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCnB,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;;;iCAMR,MAAM,OAAO,MAAM;iCACnB,MAAM,OAAO,MAAM;gCACpB,MAAM,OAAO,MAAM;gCACnB,MAAM,OAAO,MAAM;qCACd,MAAM;;CAEtB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Validation-related constants
3
3
  */
4
- import { COMMON_THRESHOLDS } from '../config/thresholds';
5
4
  // Regular expression patterns
6
5
  export const REGEX_PATTERNS = {
7
6
  EMAIL: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
@@ -28,7 +27,7 @@ export const VALIDATION_RULES = {
28
27
  MIN_PORTFOLIO_NAME_LENGTH: 3,
29
28
  MAX_PORTFOLIO_NAME_LENGTH: 100,
30
29
  MIN_PORTFOLIO_DESCRIPTION_LENGTH: 0,
31
- MAX_PORTFOLIO_DESCRIPTION_LENGTH: COMMON_THRESHOLDS.MAX_DESCRIPTION_LENGTH,
30
+ MAX_PORTFOLIO_DESCRIPTION_LENGTH: 500,
32
31
  // Trade-related
33
32
  MIN_TRADE_AMOUNT: 0.01,
34
33
  MAX_TRADE_AMOUNT: 1000000,
@@ -40,7 +39,7 @@ export const VALIDATION_RULES = {
40
39
  MIN_WITHDRAWAL_AMOUNT: 100,
41
40
  MAX_WITHDRAWAL_AMOUNT: 1000000,
42
41
  // General
43
- MAX_DESCRIPTION_LENGTH: COMMON_THRESHOLDS.MAX_DESCRIPTION_LENGTH,
42
+ MAX_DESCRIPTION_LENGTH: 500,
44
43
  MAX_NOTES_LENGTH: 1000,
45
44
  MAX_FILE_SIZE_MB: 10,
46
45
  MAX_FILE_NAME_LENGTH: 255,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cranberry-money/shared-constants",
3
- "version": "5.0.0",
3
+ "version": "5.1.1",
4
4
  "description": "Shared constants for MyPortfolio platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,34 +0,0 @@
1
- /**
2
- * Holdings and snapshot related constants
3
- * These constants should match the backend constants
4
- */
5
- export declare const SNAPSHOT_REASON_TRADE = "TRADE";
6
- export declare const SNAPSHOT_REASON_REBALANCE = "REBALANCE";
7
- export declare const SNAPSHOT_REASON_VALUATION = "VALUATION";
8
- export declare const SNAPSHOT_REASON_AUDIT = "AUDIT";
9
- export declare const SNAPSHOT_REASON: {
10
- readonly TRADE: "TRADE";
11
- readonly REBALANCE: "REBALANCE";
12
- readonly VALUATION: "VALUATION";
13
- readonly AUDIT: "AUDIT";
14
- };
15
- export type SnapshotReason = (typeof SNAPSHOT_REASON)[keyof typeof SNAPSHOT_REASON];
16
- export declare const SNAPSHOT_REASON_LABEL_TRADE = "Trade Execution";
17
- export declare const SNAPSHOT_REASON_LABEL_REBALANCE = "Portfolio Rebalance";
18
- export declare const SNAPSHOT_REASON_LABEL_VALUATION = "Valuation Update";
19
- export declare const SNAPSHOT_REASON_LABEL_AUDIT = "Audit Record";
20
- export declare const SNAPSHOT_REASON_LABELS: Record<SnapshotReason, string>;
21
- export declare const SNAPSHOT_REASON_OPTIONS: readonly [{
22
- readonly value: "TRADE";
23
- readonly label: "Trade Execution";
24
- }, {
25
- readonly value: "REBALANCE";
26
- readonly label: "Portfolio Rebalance";
27
- }, {
28
- readonly value: "VALUATION";
29
- readonly label: "Valuation Update";
30
- }, {
31
- readonly value: "AUDIT";
32
- readonly label: "Audit Record";
33
- }];
34
- //# sourceMappingURL=holdings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"holdings.d.ts","sourceRoot":"","sources":["../../src/business/holdings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,yBAAyB,cAAc,CAAC;AACrD,eAAO,MAAM,yBAAyB,cAAc,CAAC;AACrD,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGpF,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAC7D,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AACrE,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAClE,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAG1D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAKxD,CAAC;AAGX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAK1B,CAAC"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Holdings and snapshot related constants
3
- * These constants should match the backend constants
4
- */
5
- // Asset holding snapshot reason constants
6
- export const SNAPSHOT_REASON_TRADE = 'TRADE';
7
- export const SNAPSHOT_REASON_REBALANCE = 'REBALANCE';
8
- export const SNAPSHOT_REASON_VALUATION = 'VALUATION';
9
- export const SNAPSHOT_REASON_AUDIT = 'AUDIT';
10
- export const SNAPSHOT_REASON = {
11
- TRADE: SNAPSHOT_REASON_TRADE,
12
- REBALANCE: SNAPSHOT_REASON_REBALANCE,
13
- VALUATION: SNAPSHOT_REASON_VALUATION,
14
- AUDIT: SNAPSHOT_REASON_AUDIT,
15
- };
16
- // Snapshot reason label constants
17
- export const SNAPSHOT_REASON_LABEL_TRADE = 'Trade Execution';
18
- export const SNAPSHOT_REASON_LABEL_REBALANCE = 'Portfolio Rebalance';
19
- export const SNAPSHOT_REASON_LABEL_VALUATION = 'Valuation Update';
20
- export const SNAPSHOT_REASON_LABEL_AUDIT = 'Audit Record';
21
- // Snapshot reason labels for UI display
22
- export const SNAPSHOT_REASON_LABELS = {
23
- [SNAPSHOT_REASON.TRADE]: SNAPSHOT_REASON_LABEL_TRADE,
24
- [SNAPSHOT_REASON.REBALANCE]: SNAPSHOT_REASON_LABEL_REBALANCE,
25
- [SNAPSHOT_REASON.VALUATION]: SNAPSHOT_REASON_LABEL_VALUATION,
26
- [SNAPSHOT_REASON.AUDIT]: SNAPSHOT_REASON_LABEL_AUDIT,
27
- };
28
- // Snapshot reason options for forms
29
- export const SNAPSHOT_REASON_OPTIONS = [
30
- { value: SNAPSHOT_REASON_TRADE, label: SNAPSHOT_REASON_LABEL_TRADE },
31
- { value: SNAPSHOT_REASON_REBALANCE, label: SNAPSHOT_REASON_LABEL_REBALANCE },
32
- { value: SNAPSHOT_REASON_VALUATION, label: SNAPSHOT_REASON_LABEL_VALUATION },
33
- { value: SNAPSHOT_REASON_AUDIT, label: SNAPSHOT_REASON_LABEL_AUDIT },
34
- ];
@@ -1,2 +0,0 @@
1
- export * from './statuses';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- export * from './statuses';
@@ -1,20 +0,0 @@
1
- /**
2
- * Common status constants shared across multiple domains
3
- * These values appear frequently across withdrawals, trades, cash accounts, etc.
4
- */
5
- export declare const COMMON_STATUS: {
6
- readonly PENDING: "PENDING";
7
- readonly APPROVED: "APPROVED";
8
- readonly CANCELLED: "CANCELLED";
9
- readonly FAILED: "FAILED";
10
- readonly COMPLETED: "COMPLETED";
11
- readonly PROCESSING: "PROCESSING";
12
- readonly ACTIVE: "ACTIVE";
13
- readonly INACTIVE: "INACTIVE";
14
- readonly EXECUTED: "EXECUTED";
15
- readonly REJECTED: "REJECTED";
16
- readonly EXPIRED: "EXPIRED";
17
- };
18
- export type CommonStatusValues = (typeof COMMON_STATUS)[keyof typeof COMMON_STATUS];
19
- export declare const PENDING: "PENDING", APPROVED: "APPROVED", CANCELLED: "CANCELLED", FAILED: "FAILED", COMPLETED: "COMPLETED", PROCESSING: "PROCESSING", ACTIVE: "ACTIVE", INACTIVE: "INACTIVE", EXECUTED: "EXECUTED", REJECTED: "REJECTED", EXPIRED: "EXPIRED";
20
- //# sourceMappingURL=statuses.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statuses.d.ts","sourceRoot":"","sources":["../../src/common/statuses.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAGpF,eAAO,MACL,OAAO,aACP,QAAQ,cACR,SAAS,eACT,MAAM,YACN,SAAS,eACT,UAAU,gBACV,MAAM,YACN,QAAQ,cACR,QAAQ,cACR,QAAQ,cACR,OAAO,WACQ,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Common status constants shared across multiple domains
3
- * These values appear frequently across withdrawals, trades, cash accounts, etc.
4
- */
5
- export const COMMON_STATUS = {
6
- PENDING: 'PENDING',
7
- APPROVED: 'APPROVED',
8
- CANCELLED: 'CANCELLED',
9
- FAILED: 'FAILED',
10
- COMPLETED: 'COMPLETED',
11
- PROCESSING: 'PROCESSING',
12
- ACTIVE: 'ACTIVE',
13
- INACTIVE: 'INACTIVE',
14
- EXECUTED: 'EXECUTED',
15
- REJECTED: 'REJECTED',
16
- EXPIRED: 'EXPIRED',
17
- };
18
- // Re-export individual values for convenience
19
- export const { PENDING, APPROVED, CANCELLED, FAILED, COMPLETED, PROCESSING, ACTIVE, INACTIVE, EXECUTED, REJECTED, EXPIRED, } = COMMON_STATUS;
@@ -1,79 +0,0 @@
1
- /**
2
- * Unified default values
3
- * Consolidates common default values used across the application
4
- */
5
- /**
6
- * Default string values
7
- */
8
- export declare const DEFAULT_STRINGS: {
9
- readonly EMPTY: "";
10
- readonly UNKNOWN: "Unknown";
11
- readonly NOT_APPLICABLE: "N/A";
12
- readonly ERROR_MESSAGE: "An error occurred";
13
- readonly ZERO: "0";
14
- readonly NULL_UUID: "00000000-0000-0000-0000-000000000000";
15
- };
16
- /**
17
- * Common label values used across domains
18
- */
19
- export declare const COMMON_LABELS: {
20
- readonly OTHER: "Other";
21
- readonly UNKNOWN: "Unknown";
22
- readonly NONE: "None";
23
- readonly ALL: "All";
24
- readonly DEFAULT: "Default";
25
- readonly CUSTOM: "Custom";
26
- };
27
- /**
28
- * Default numeric values
29
- */
30
- export declare const DEFAULT_NUMBERS: {
31
- readonly ZERO: 0;
32
- readonly PRECISION: 2;
33
- readonly PERCENTAGE_PRECISION: 2;
34
- readonly QUANTITY_PRECISION: 6;
35
- };
36
- /**
37
- * Locale configuration
38
- */
39
- export declare const LOCALE_CONFIG: {
40
- readonly DEFAULT: "en-AU";
41
- readonly FALLBACK: "en-US";
42
- readonly SUPPORTED: readonly ["en-AU", "en-US", "en-GB"];
43
- };
44
- export type SupportedLocale = (typeof LOCALE_CONFIG.SUPPORTED)[number];
45
- /**
46
- * Default allocation values
47
- */
48
- export declare const CONFIG_ALLOCATION_DEFAULTS: {
49
- readonly DEFAULT_PERCENTAGE: 10;
50
- readonly PERCENTAGE_PRECISION: 0.01;
51
- readonly TARGET_TOTAL: 100;
52
- };
53
- /**
54
- * Default format options for number formatting
55
- */
56
- export declare const DEFAULT_FORMAT_OPTIONS: {
57
- readonly CURRENCY: {
58
- readonly style: "currency";
59
- readonly minimumFractionDigits: 2;
60
- readonly maximumFractionDigits: 2;
61
- };
62
- readonly CURRENCY_SIGNED: {
63
- readonly style: "currency";
64
- readonly minimumFractionDigits: 2;
65
- readonly maximumFractionDigits: 2;
66
- readonly signDisplay: "always";
67
- };
68
- readonly PERCENTAGE: {
69
- readonly style: "percent";
70
- readonly minimumFractionDigits: 0;
71
- readonly maximumFractionDigits: 2;
72
- };
73
- readonly DECIMAL: {
74
- readonly style: "decimal";
75
- readonly minimumFractionDigits: 0;
76
- readonly maximumFractionDigits: 8;
77
- };
78
- };
79
- //# sourceMappingURL=defaults.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;CAsBzB,CAAC"}
@@ -1,77 +0,0 @@
1
- /**
2
- * Unified default values
3
- * Consolidates common default values used across the application
4
- */
5
- /**
6
- * Default string values
7
- */
8
- export const DEFAULT_STRINGS = {
9
- EMPTY: '',
10
- UNKNOWN: 'Unknown',
11
- NOT_APPLICABLE: 'N/A',
12
- ERROR_MESSAGE: 'An error occurred',
13
- ZERO: '0',
14
- NULL_UUID: '00000000-0000-0000-0000-000000000000',
15
- };
16
- /**
17
- * Common label values used across domains
18
- */
19
- export const COMMON_LABELS = {
20
- OTHER: 'Other',
21
- UNKNOWN: 'Unknown',
22
- NONE: 'None',
23
- ALL: 'All',
24
- DEFAULT: 'Default',
25
- CUSTOM: 'Custom',
26
- };
27
- /**
28
- * Default numeric values
29
- */
30
- export const DEFAULT_NUMBERS = {
31
- ZERO: 0,
32
- PRECISION: 2,
33
- PERCENTAGE_PRECISION: 2,
34
- QUANTITY_PRECISION: 6,
35
- };
36
- /**
37
- * Locale configuration
38
- */
39
- export const LOCALE_CONFIG = {
40
- DEFAULT: 'en-AU',
41
- FALLBACK: 'en-US',
42
- SUPPORTED: ['en-AU', 'en-US', 'en-GB'],
43
- };
44
- /**
45
- * Default allocation values
46
- */
47
- export const CONFIG_ALLOCATION_DEFAULTS = {
48
- DEFAULT_PERCENTAGE: 10,
49
- PERCENTAGE_PRECISION: 0.01,
50
- TARGET_TOTAL: 100,
51
- };
52
- /**
53
- * Default format options for number formatting
54
- */
55
- export const DEFAULT_FORMAT_OPTIONS = {
56
- CURRENCY: {
57
- style: 'currency',
58
- minimumFractionDigits: DEFAULT_NUMBERS.PRECISION,
59
- maximumFractionDigits: DEFAULT_NUMBERS.PRECISION,
60
- },
61
- CURRENCY_SIGNED: {
62
- style: 'currency',
63
- minimumFractionDigits: DEFAULT_NUMBERS.PRECISION,
64
- maximumFractionDigits: DEFAULT_NUMBERS.PRECISION,
65
- signDisplay: 'always',
66
- },
67
- PERCENTAGE: {
68
- style: 'percent',
69
- minimumFractionDigits: 0,
70
- maximumFractionDigits: DEFAULT_NUMBERS.PERCENTAGE_PRECISION,
71
- },
72
- DECIMAL: {
73
- style: 'decimal',
74
- minimumFractionDigits: 0,
75
- maximumFractionDigits: 8,
76
- },
77
- };
@@ -1,8 +0,0 @@
1
- /**
2
- * Configuration constants module
3
- * Exports all configuration-related constants
4
- */
5
- export * from './pagination';
6
- export * from './thresholds';
7
- export * from './defaults';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Configuration constants module
3
- * Exports all configuration-related constants
4
- */
5
- export * from './pagination';
6
- export * from './thresholds';
7
- export * from './defaults';
@@ -1,28 +0,0 @@
1
- /**
2
- * Unified pagination configuration constants
3
- * Consolidates pagination settings from multiple locations
4
- */
5
- /**
6
- * Pagination configuration
7
- * Single source of truth for all pagination-related constants
8
- */
9
- export declare const PAGINATION_CONFIG: {
10
- readonly DEFAULT_PAGE: 1;
11
- readonly DEFAULT_PAGE_SIZE: 20;
12
- readonly MIN_PAGE_SIZE: 1;
13
- readonly MAX_PAGE_SIZE: 100;
14
- readonly PAGE_SIZE_OPTIONS: readonly [10, 20, 50, 100];
15
- readonly DEFAULT_SORT_ORDER: "desc";
16
- };
17
- export type PageSizeOption = (typeof PAGINATION_CONFIG.PAGE_SIZE_OPTIONS)[number];
18
- /**
19
- * Get validated page size
20
- * Ensures page size is within allowed limits
21
- */
22
- export declare const getValidPageSize: (pageSize: number) => number;
23
- /**
24
- * Get validated page number
25
- * Ensures page number is at least 1
26
- */
27
- export declare const getValidPageNumber: (page: number) => number;
28
- //# sourceMappingURL=pagination.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/config/pagination.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;CAcpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,KAAG,MAQnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAEjD,CAAC"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Unified pagination configuration constants
3
- * Consolidates pagination settings from multiple locations
4
- */
5
- /**
6
- * Pagination configuration
7
- * Single source of truth for all pagination-related constants
8
- */
9
- export const PAGINATION_CONFIG = {
10
- // Default values
11
- DEFAULT_PAGE: 1,
12
- DEFAULT_PAGE_SIZE: 20,
13
- // Limits
14
- MIN_PAGE_SIZE: 1,
15
- MAX_PAGE_SIZE: 100,
16
- // Common page size options for dropdowns
17
- PAGE_SIZE_OPTIONS: [10, 20, 50, 100],
18
- // Default sort order
19
- DEFAULT_SORT_ORDER: 'desc',
20
- };
21
- /**
22
- * Get validated page size
23
- * Ensures page size is within allowed limits
24
- */
25
- export const getValidPageSize = (pageSize) => {
26
- if (pageSize < PAGINATION_CONFIG.MIN_PAGE_SIZE) {
27
- return PAGINATION_CONFIG.MIN_PAGE_SIZE;
28
- }
29
- if (pageSize > PAGINATION_CONFIG.MAX_PAGE_SIZE) {
30
- return PAGINATION_CONFIG.MAX_PAGE_SIZE;
31
- }
32
- return pageSize;
33
- };
34
- /**
35
- * Get validated page number
36
- * Ensures page number is at least 1
37
- */
38
- export const getValidPageNumber = (page) => {
39
- return Math.max(PAGINATION_CONFIG.DEFAULT_PAGE, page);
40
- };