@memberjunction/templates-base-types 2.51.0 → 2.53.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.
@@ -20,10 +20,41 @@ export declare class TemplateEntityExtended extends TemplateEntity {
20
20
  */
21
21
  GetHighestPriorityContent(type?: string): TemplateContentEntity;
22
22
  /**
23
- * This method is different from the Validate() method which validates the state of the Template itself. This method validates the data object provided meets the requirements for the template's parameter definitions.
23
+ * Returns all parameters that apply to a specific template content.
24
+ * This includes both global parameters (where TemplateContentID is NULL)
25
+ * and content-specific parameters for the given contentId.
26
+ *
27
+ * @param contentId - The ID of the template content. If not provided, returns only global parameters.
28
+ * @returns Array of TemplateParamEntity objects that apply to the specified content
29
+ *
30
+ * @example
31
+ * // Get all parameters for a specific content
32
+ * const params = template.GetParametersForContent('content-uuid');
33
+ *
34
+ * @example
35
+ * // Get only global parameters (that apply to all contents)
36
+ * const globalParams = template.GetParametersForContent();
37
+ */
38
+ GetParametersForContent(contentId?: string): TemplateParamEntity[];
39
+ /**
40
+ * This method is different from the Validate() method which validates the state of the Template itself.
41
+ * This method validates the data object provided meets the requirements for the template's parameter definitions.
42
+ *
24
43
  * @param data - the data object to validate against the template's parameter definitions
44
+ * @param contentId - Optional: The ID of the template content to validate against.
45
+ * If provided, validates against parameters specific to that content.
46
+ * If not provided, validates against all parameters.
47
+ * @returns ValidationResult with success status and any validation errors
48
+ *
49
+ * @example
50
+ * // Validate against all parameters
51
+ * const result = template.ValidateTemplateInput(inputData);
52
+ *
53
+ * @example
54
+ * // Validate against parameters for a specific content
55
+ * const result = template.ValidateTemplateInput(inputData, 'content-uuid');
25
56
  */
26
- ValidateTemplateInput(data: any): ValidationResult;
57
+ ValidateTemplateInput(data: any, contentId?: string): ValidationResult;
27
58
  }
28
59
  export declare function LoadTemplateEntityExtended(): void;
29
60
  //# sourceMappingURL=TemplateEntityExtended.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateEntityExtended.d.ts","sourceRoot":"","sources":["../src/TemplateEntityExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG3G,qBACa,sBAAuB,SAAQ,cAAc;IACtD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,IAAW,OAAO,IAAI,qBAAqB,EAAE,CAE5C;IACD,IAAW,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAEhD;IAED,OAAO,CAAC,OAAO,CAA6B;IAC5C,IAAW,MAAM,IAAI,mBAAmB,EAAE,CAEzC;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAE7C;IAED;;;;OAIG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAI9D;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAUtE;;;OAGG;IACI,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB;CAoB5D;AAED,wBAAgB,0BAA0B,SAEzC"}
1
+ {"version":3,"file":"TemplateEntityExtended.d.ts","sourceRoot":"","sources":["../src/TemplateEntityExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG3G,qBACa,sBAAuB,SAAQ,cAAc;IACtD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,IAAW,OAAO,IAAI,qBAAqB,EAAE,CAE5C;IACD,IAAW,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAEhD;IAED,OAAO,CAAC,OAAO,CAA6B;IAC5C,IAAW,MAAM,IAAI,mBAAmB,EAAE,CAEzC;IACD,IAAW,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAE7C;IAED;;;;OAIG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAI9D;;;;OAIG;IACI,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAUtE;;;;;;;;;;;;;;;OAeG;IACI,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAazE;;;;;;;;;;;;;;;;;OAiBG;IACI,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB;CA0BhF;AAED,wBAAgB,0BAA0B,SAEzC"}
@@ -51,12 +51,56 @@ let TemplateEntityExtended = class TemplateEntityExtended extends core_entities_
51
51
  }
52
52
  }
53
53
  /**
54
- * This method is different from the Validate() method which validates the state of the Template itself. This method validates the data object provided meets the requirements for the template's parameter definitions.
54
+ * Returns all parameters that apply to a specific template content.
55
+ * This includes both global parameters (where TemplateContentID is NULL)
56
+ * and content-specific parameters for the given contentId.
57
+ *
58
+ * @param contentId - The ID of the template content. If not provided, returns only global parameters.
59
+ * @returns Array of TemplateParamEntity objects that apply to the specified content
60
+ *
61
+ * @example
62
+ * // Get all parameters for a specific content
63
+ * const params = template.GetParametersForContent('content-uuid');
64
+ *
65
+ * @example
66
+ * // Get only global parameters (that apply to all contents)
67
+ * const globalParams = template.GetParametersForContent();
68
+ */
69
+ GetParametersForContent(contentId) {
70
+ if (!contentId) {
71
+ // Return only global parameters (TemplateContentID is null)
72
+ return this.Params.filter(p => !p.TemplateContentID);
73
+ }
74
+ // Return both global parameters and content-specific parameters
75
+ return this.Params.filter(p => !p.TemplateContentID || // Global param (applies to all contents)
76
+ p.TemplateContentID === contentId // Content-specific param
77
+ );
78
+ }
79
+ /**
80
+ * This method is different from the Validate() method which validates the state of the Template itself.
81
+ * This method validates the data object provided meets the requirements for the template's parameter definitions.
82
+ *
55
83
  * @param data - the data object to validate against the template's parameter definitions
84
+ * @param contentId - Optional: The ID of the template content to validate against.
85
+ * If provided, validates against parameters specific to that content.
86
+ * If not provided, validates against all parameters.
87
+ * @returns ValidationResult with success status and any validation errors
88
+ *
89
+ * @example
90
+ * // Validate against all parameters
91
+ * const result = template.ValidateTemplateInput(inputData);
92
+ *
93
+ * @example
94
+ * // Validate against parameters for a specific content
95
+ * const result = template.ValidateTemplateInput(inputData, 'content-uuid');
56
96
  */
57
- ValidateTemplateInput(data) {
97
+ ValidateTemplateInput(data, contentId) {
58
98
  const result = new core_1.ValidationResult();
59
- this.Params.forEach((p) => {
99
+ // Get the relevant parameters based on contentId
100
+ const paramsToValidate = contentId ?
101
+ this.GetParametersForContent(contentId) :
102
+ this.Params;
103
+ paramsToValidate.forEach((p) => {
60
104
  if (p.IsRequired) {
61
105
  if (!data ||
62
106
  data[p.Name] === undefined ||
@@ -70,7 +114,7 @@ let TemplateEntityExtended = class TemplateEntityExtended extends core_entities_
70
114
  });
71
115
  }
72
116
  });
73
- // now set result's top level success falg based on the existence of ANY failure record within the errors collection
117
+ // now set result's top level success flag based on the existence of ANY failure record within the errors collection
74
118
  result.Success = result.Errors.some(e => e.Type === 'Failure') ? false : true;
75
119
  return result;
76
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateEntityExtended.js","sourceRoot":"","sources":["../src/TemplateEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAAuF;AACvF,iEAA2G;AAC3G,mDAAuD;AAGhD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,8BAAc;IAAnD;;QACK,aAAQ,GAA4B,EAAE,CAAC;QAQvC,YAAO,GAA0B,EAAE,CAAC;IAwDhD,CAAC;IA/DG,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAW,OAAO,CAAC,KAA8B;QAC7C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAGD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,IAAW,MAAM,CAAC,KAA4B;QAC1C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,IAAY;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;;;OAIG;IACI,yBAAyB,CAAC,IAAa;QAC1C,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;iBACrF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;aACI,CAAC;YACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,IAAS;QAClC,MAAM,MAAM,GAAG,IAAI,uBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI;oBACL,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS;oBAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI;oBACrB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;oBAC3E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;wBACf,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,aAAa,CAAC,CAAC,IAAI,eAAe;wBAC3C,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnB,IAAI,EAAE,SAAS;qBAClB,CAAC,CAAC;YACX,CAAC;QACL,CAAC,CAAC,CAAC;QACH,oHAAoH;QACpH,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AAjEY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAa,EAAC,iBAAU,EAAE,WAAW,CAAC;GAC1B,sBAAsB,CAiElC;AAED,SAAgB,0BAA0B;IACtC,iFAAiF;AACrF,CAAC;AAFD,gEAEC"}
1
+ {"version":3,"file":"TemplateEntityExtended.js","sourceRoot":"","sources":["../src/TemplateEntityExtended.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/templates-base-types",
3
- "version": "2.51.0",
3
+ "version": "2.53.0",
4
4
  "description": "MemberJunction Templating Base Types for Client/Server Use",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,8 +18,8 @@
18
18
  "typescript": "^5.4.5"
19
19
  },
20
20
  "dependencies": {
21
- "@memberjunction/core": "2.51.0",
22
- "@memberjunction/core-entities": "2.51.0",
23
- "@memberjunction/global": "2.51.0"
21
+ "@memberjunction/core": "2.53.0",
22
+ "@memberjunction/core-entities": "2.53.0",
23
+ "@memberjunction/global": "2.53.0"
24
24
  }
25
25
  }