@statezero/core 0.2.21 → 0.2.23

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 (173) hide show
  1. package/dist/actions/backend1/django_app/calculate-hash.d.ts +57 -0
  2. package/dist/actions/backend1/django_app/calculate-hash.js +80 -0
  3. package/dist/actions/backend1/django_app/calculate-hash.schema.json +148 -0
  4. package/dist/actions/backend1/django_app/get-current-username.d.ts +29 -0
  5. package/dist/actions/backend1/django_app/get-current-username.js +65 -0
  6. package/dist/actions/backend1/django_app/get-current-username.schema.json +47 -0
  7. package/dist/actions/backend1/django_app/get-server-status.d.ts +38 -0
  8. package/dist/actions/backend1/django_app/get-server-status.js +68 -0
  9. package/dist/actions/backend1/django_app/get-server-status.schema.json +93 -0
  10. package/dist/actions/backend1/django_app/get-user-info.d.ts +44 -0
  11. package/dist/actions/backend1/django_app/get-user-info.js +70 -0
  12. package/dist/actions/backend1/django_app/get-user-info.schema.json +127 -0
  13. package/dist/actions/backend1/django_app/index.d.ts +1 -0
  14. package/dist/actions/backend1/django_app/index.js +6 -0
  15. package/dist/actions/backend1/django_app/process-data.d.ts +51 -0
  16. package/dist/actions/backend1/django_app/process-data.js +78 -0
  17. package/dist/actions/backend1/django_app/process-data.schema.json +117 -0
  18. package/dist/actions/backend1/django_app/send-notification.d.ts +55 -0
  19. package/dist/actions/backend1/django_app/send-notification.js +81 -0
  20. package/dist/actions/backend1/django_app/send-notification.schema.json +175 -0
  21. package/dist/actions/backend1/index.d.ts +1 -0
  22. package/dist/actions/backend1/index.js +1 -0
  23. package/dist/actions/default/django_app/calculate-hash.d.ts +57 -0
  24. package/dist/actions/default/django_app/calculate-hash.js +80 -0
  25. package/dist/actions/default/django_app/calculate-hash.schema.json +148 -0
  26. package/dist/actions/default/django_app/get-current-username.d.ts +29 -0
  27. package/dist/actions/default/django_app/get-current-username.js +65 -0
  28. package/dist/actions/default/django_app/get-current-username.schema.json +47 -0
  29. package/dist/actions/default/django_app/get-server-status.d.ts +38 -0
  30. package/dist/actions/default/django_app/get-server-status.js +68 -0
  31. package/dist/actions/default/django_app/get-server-status.schema.json +93 -0
  32. package/dist/actions/default/django_app/get-user-info.d.ts +44 -0
  33. package/dist/actions/default/django_app/get-user-info.js +70 -0
  34. package/dist/actions/default/django_app/get-user-info.schema.json +127 -0
  35. package/dist/actions/default/django_app/index.d.ts +1 -0
  36. package/dist/actions/default/django_app/index.js +6 -0
  37. package/dist/actions/default/django_app/process-data.d.ts +51 -0
  38. package/dist/actions/default/django_app/process-data.js +78 -0
  39. package/dist/actions/default/django_app/process-data.schema.json +117 -0
  40. package/dist/actions/default/django_app/send-notification.d.ts +55 -0
  41. package/dist/actions/default/django_app/send-notification.js +81 -0
  42. package/dist/actions/default/django_app/send-notification.schema.json +175 -0
  43. package/dist/actions/default/index.d.ts +1 -0
  44. package/dist/actions/default/index.js +1 -0
  45. package/dist/actions/index.d.ts +1 -0
  46. package/dist/actions/index.js +5 -0
  47. package/dist/flavours/django/dates.js +4 -1
  48. package/dist/flavours/django/querySet.js +0 -1
  49. package/dist/flavours/django/serializers.js +8 -4
  50. package/dist/models/backend1/django_app/comprehensivemodel.d.ts +894 -0
  51. package/dist/models/backend1/django_app/comprehensivemodel.js +71 -0
  52. package/dist/models/backend1/django_app/comprehensivemodel.schema.json +870 -0
  53. package/dist/models/backend1/django_app/custompkmodel.d.ts +92 -0
  54. package/dist/models/backend1/django_app/custompkmodel.js +69 -0
  55. package/dist/models/backend1/django_app/custompkmodel.schema.json +71 -0
  56. package/dist/models/backend1/django_app/dailyrate.d.ts +230 -0
  57. package/dist/models/backend1/django_app/dailyrate.js +71 -0
  58. package/dist/models/backend1/django_app/dailyrate.schema.json +212 -0
  59. package/dist/models/backend1/django_app/deepmodellevel1.d.ts +140 -0
  60. package/dist/models/backend1/django_app/deepmodellevel1.js +72 -0
  61. package/dist/models/backend1/django_app/deepmodellevel1.schema.json +114 -0
  62. package/dist/models/backend1/django_app/deepmodellevel2.d.ts +118 -0
  63. package/dist/models/backend1/django_app/deepmodellevel2.js +71 -0
  64. package/dist/models/backend1/django_app/deepmodellevel2.schema.json +92 -0
  65. package/dist/models/backend1/django_app/deepmodellevel3.d.ts +92 -0
  66. package/dist/models/backend1/django_app/deepmodellevel3.js +69 -0
  67. package/dist/models/backend1/django_app/deepmodellevel3.schema.json +69 -0
  68. package/dist/models/backend1/django_app/dummymodel.d.ts +134 -0
  69. package/dist/models/backend1/django_app/dummymodel.js +71 -0
  70. package/dist/models/backend1/django_app/dummymodel.schema.json +109 -0
  71. package/dist/models/backend1/django_app/dummyrelatedmodel.d.ts +92 -0
  72. package/dist/models/backend1/django_app/dummyrelatedmodel.js +69 -0
  73. package/dist/models/backend1/django_app/dummyrelatedmodel.schema.json +69 -0
  74. package/dist/models/backend1/django_app/filetest.d.ts +140 -0
  75. package/dist/models/backend1/django_app/filetest.js +69 -0
  76. package/dist/models/backend1/django_app/filetest.schema.json +111 -0
  77. package/dist/models/backend1/django_app/index.d.ts +1 -0
  78. package/dist/models/backend1/django_app/index.js +18 -0
  79. package/dist/models/backend1/django_app/modelwithcustompkrelation.d.ts +118 -0
  80. package/dist/models/backend1/django_app/modelwithcustompkrelation.js +71 -0
  81. package/dist/models/backend1/django_app/modelwithcustompkrelation.schema.json +93 -0
  82. package/dist/models/backend1/django_app/modelwithrestrictedfields.d.ts +134 -0
  83. package/dist/models/backend1/django_app/modelwithrestrictedfields.js +71 -0
  84. package/dist/models/backend1/django_app/modelwithrestrictedfields.schema.json +111 -0
  85. package/dist/models/backend1/django_app/namefiltercustompkmodel.d.ts +92 -0
  86. package/dist/models/backend1/django_app/namefiltercustompkmodel.js +69 -0
  87. package/dist/models/backend1/django_app/namefiltercustompkmodel.schema.json +71 -0
  88. package/dist/models/backend1/django_app/order.d.ts +220 -0
  89. package/dist/models/backend1/django_app/order.js +71 -0
  90. package/dist/models/backend1/django_app/order.schema.json +203 -0
  91. package/dist/models/backend1/django_app/orderitem.d.ts +172 -0
  92. package/dist/models/backend1/django_app/orderitem.js +72 -0
  93. package/dist/models/backend1/django_app/orderitem.schema.json +149 -0
  94. package/dist/models/backend1/django_app/product.d.ts +254 -0
  95. package/dist/models/backend1/django_app/product.js +71 -0
  96. package/dist/models/backend1/django_app/product.schema.json +277 -0
  97. package/dist/models/backend1/django_app/productcategory.d.ts +92 -0
  98. package/dist/models/backend1/django_app/productcategory.js +69 -0
  99. package/dist/models/backend1/django_app/productcategory.schema.json +70 -0
  100. package/dist/models/backend1/django_app/rateplan.d.ts +92 -0
  101. package/dist/models/backend1/django_app/rateplan.js +69 -0
  102. package/dist/models/backend1/django_app/rateplan.schema.json +70 -0
  103. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.d.ts +108 -0
  104. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.js +69 -0
  105. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.schema.json +87 -0
  106. package/dist/models/backend1/fileobject.d.ts +4 -0
  107. package/dist/models/backend1/fileobject.js +9 -0
  108. package/dist/models/backend1/index.d.ts +2 -0
  109. package/dist/models/backend1/index.js +2 -0
  110. package/dist/models/default/django_app/comprehensivemodel.d.ts +894 -0
  111. package/dist/models/default/django_app/comprehensivemodel.js +71 -0
  112. package/dist/models/default/django_app/comprehensivemodel.schema.json +870 -0
  113. package/dist/models/default/django_app/custompkmodel.d.ts +92 -0
  114. package/dist/models/default/django_app/custompkmodel.js +69 -0
  115. package/dist/models/default/django_app/custompkmodel.schema.json +71 -0
  116. package/dist/models/default/django_app/dailyrate.d.ts +230 -0
  117. package/dist/models/default/django_app/dailyrate.js +71 -0
  118. package/dist/models/default/django_app/dailyrate.schema.json +212 -0
  119. package/dist/models/default/django_app/deepmodellevel1.d.ts +128 -0
  120. package/dist/models/default/django_app/deepmodellevel1.js +72 -0
  121. package/dist/models/default/django_app/deepmodellevel1.schema.json +102 -0
  122. package/dist/models/default/django_app/deepmodellevel2.d.ts +106 -0
  123. package/dist/models/default/django_app/deepmodellevel2.js +71 -0
  124. package/dist/models/default/django_app/deepmodellevel2.schema.json +80 -0
  125. package/dist/models/default/django_app/deepmodellevel3.d.ts +80 -0
  126. package/dist/models/default/django_app/deepmodellevel3.js +69 -0
  127. package/dist/models/default/django_app/deepmodellevel3.schema.json +57 -0
  128. package/dist/models/default/django_app/dummymodel.d.ts +122 -0
  129. package/dist/models/default/django_app/dummymodel.js +71 -0
  130. package/dist/models/default/django_app/dummymodel.schema.json +97 -0
  131. package/dist/models/default/django_app/dummyrelatedmodel.d.ts +80 -0
  132. package/dist/models/default/django_app/dummyrelatedmodel.js +69 -0
  133. package/dist/models/default/django_app/dummyrelatedmodel.schema.json +57 -0
  134. package/dist/models/default/django_app/filetest.d.ts +128 -0
  135. package/dist/models/default/django_app/filetest.js +69 -0
  136. package/dist/models/default/django_app/filetest.schema.json +99 -0
  137. package/dist/models/default/django_app/index.d.ts +1 -0
  138. package/dist/models/default/django_app/index.js +18 -0
  139. package/dist/models/default/django_app/modelwithcustompkrelation.d.ts +118 -0
  140. package/dist/models/default/django_app/modelwithcustompkrelation.js +71 -0
  141. package/dist/models/default/django_app/modelwithcustompkrelation.schema.json +93 -0
  142. package/dist/models/default/django_app/modelwithrestrictedfields.d.ts +134 -0
  143. package/dist/models/default/django_app/modelwithrestrictedfields.js +71 -0
  144. package/dist/models/default/django_app/modelwithrestrictedfields.schema.json +111 -0
  145. package/dist/models/default/django_app/namefiltercustompkmodel.d.ts +92 -0
  146. package/dist/models/default/django_app/namefiltercustompkmodel.js +69 -0
  147. package/dist/models/default/django_app/namefiltercustompkmodel.schema.json +71 -0
  148. package/dist/models/default/django_app/order.d.ts +220 -0
  149. package/dist/models/default/django_app/order.js +71 -0
  150. package/dist/models/default/django_app/order.schema.json +203 -0
  151. package/dist/models/default/django_app/orderitem.d.ts +172 -0
  152. package/dist/models/default/django_app/orderitem.js +72 -0
  153. package/dist/models/default/django_app/orderitem.schema.json +149 -0
  154. package/dist/models/default/django_app/product.d.ts +254 -0
  155. package/dist/models/default/django_app/product.js +71 -0
  156. package/dist/models/default/django_app/product.schema.json +277 -0
  157. package/dist/models/default/django_app/productcategory.d.ts +92 -0
  158. package/dist/models/default/django_app/productcategory.js +69 -0
  159. package/dist/models/default/django_app/productcategory.schema.json +70 -0
  160. package/dist/models/default/django_app/rateplan.d.ts +92 -0
  161. package/dist/models/default/django_app/rateplan.js +69 -0
  162. package/dist/models/default/django_app/rateplan.schema.json +70 -0
  163. package/dist/models/default/django_app/restrictedfieldrelatedmodel.d.ts +108 -0
  164. package/dist/models/default/django_app/restrictedfieldrelatedmodel.js +69 -0
  165. package/dist/models/default/django_app/restrictedfieldrelatedmodel.schema.json +87 -0
  166. package/dist/models/default/fileobject.d.ts +4 -0
  167. package/dist/models/default/fileobject.js +9 -0
  168. package/dist/models/default/index.d.ts +2 -0
  169. package/dist/models/default/index.js +2 -0
  170. package/dist/models/index.d.ts +1 -0
  171. package/dist/models/index.js +5 -0
  172. package/dist/syncEngine/cache/cache.js +15 -1
  173. package/package.json +1 -1
@@ -0,0 +1,72 @@
1
+ /**
2
+ * This file was auto-generated. Do not make direct changes to the file.
3
+ */
4
+ import { Model, Manager, QuerySet, getModelClass } from '../../../../src';
5
+ import { wrapReactiveModel } from '../../../../src';
6
+ import schemaData from './orderitem.schema.json';
7
+ /**
8
+ * Model-specific QuerySet implementation
9
+ */
10
+ export class OrderItemQuerySet extends QuerySet {
11
+ }
12
+ /**
13
+ * Model-specific Manager implementation
14
+ */
15
+ export class OrderItemManager extends Manager {
16
+ constructor(ModelClass) {
17
+ super(ModelClass, OrderItemQuerySet);
18
+ }
19
+ newQuerySet() {
20
+ return new OrderItemQuerySet(this.ModelClass);
21
+ }
22
+ }
23
+ /**
24
+ * Implementation of the OrderItem model
25
+ */
26
+ export class OrderItem extends Model {
27
+ constructor(data) {
28
+ OrderItem.validateFields(data);
29
+ super(data);
30
+ // Define getters and setters for all fields
31
+ this._defineProperties();
32
+ return wrapReactiveModel(this);
33
+ }
34
+ /**
35
+ * Define property getters and setters for all model fields
36
+ * @private
37
+ */
38
+ _defineProperties() {
39
+ // For each field, define a property that gets/sets from internal storage
40
+ OrderItem.fields.forEach(field => {
41
+ Object.defineProperty(this, field, {
42
+ get: function () {
43
+ return this.getField(field);
44
+ },
45
+ set: function (value) {
46
+ this.setField(field, value);
47
+ },
48
+ enumerable: true, // Make sure fields are enumerable for serialization
49
+ configurable: true
50
+ });
51
+ });
52
+ // Add a special read-only getter for the repr field
53
+ Object.defineProperty(this, 'repr', {
54
+ get: function () {
55
+ return this.getField('repr');
56
+ },
57
+ enumerable: true, // Make sure repr is enumerable
58
+ configurable: true
59
+ });
60
+ }
61
+ }
62
+ // Bind this model to its backend
63
+ OrderItem.configKey = 'default';
64
+ OrderItem.modelName = 'django_app.orderitem';
65
+ OrderItem.primaryKeyField = 'id';
66
+ OrderItem.objects = new OrderItemManager(OrderItem);
67
+ OrderItem.fields = ['id', 'order', 'product', 'quantity', 'price', 'subtotal'];
68
+ OrderItem.schema = schemaData;
69
+ OrderItem.relationshipFields = new Map([
70
+ ['order', { 'ModelClass': () => getModelClass('django_app.order', 'default'), 'relationshipType': 'foreign-key' }],
71
+ ['product', { 'ModelClass': () => getModelClass('django_app.product', 'default'), 'relationshipType': 'foreign-key' }]
72
+ ]);
@@ -0,0 +1,149 @@
1
+ {
2
+ "model_name": "django_app.orderitem",
3
+ "title": "Order Item",
4
+ "class_name": "OrderItem",
5
+ "plural_title": "Order Items",
6
+ "primary_key_field": "id",
7
+ "filterable_fields": [
8
+ "price",
9
+ "quantity",
10
+ "order",
11
+ "id",
12
+ "product"
13
+ ],
14
+ "searchable_fields": [],
15
+ "ordering_fields": [
16
+ "price",
17
+ "quantity"
18
+ ],
19
+ "properties": {
20
+ "id": {
21
+ "type": "integer",
22
+ "title": "Id",
23
+ "required": true,
24
+ "description": null,
25
+ "nullable": false,
26
+ "format": "id",
27
+ "max_length": null,
28
+ "choices": null,
29
+ "default": null,
30
+ "validators": [],
31
+ "max_digits": null,
32
+ "decimal_places": null,
33
+ "read_only": true,
34
+ "ref": null
35
+ },
36
+ "order": {
37
+ "type": "integer",
38
+ "title": "Order",
39
+ "required": true,
40
+ "description": null,
41
+ "nullable": false,
42
+ "format": "foreign-key",
43
+ "max_length": null,
44
+ "choices": null,
45
+ "default": null,
46
+ "validators": [],
47
+ "max_digits": null,
48
+ "decimal_places": null,
49
+ "read_only": false,
50
+ "ref": null
51
+ },
52
+ "product": {
53
+ "type": "integer",
54
+ "title": "Product",
55
+ "required": true,
56
+ "description": null,
57
+ "nullable": false,
58
+ "format": "foreign-key",
59
+ "max_length": null,
60
+ "choices": null,
61
+ "default": null,
62
+ "validators": [],
63
+ "max_digits": null,
64
+ "decimal_places": null,
65
+ "read_only": false,
66
+ "ref": null
67
+ },
68
+ "quantity": {
69
+ "type": "integer",
70
+ "title": "Quantity",
71
+ "required": true,
72
+ "description": null,
73
+ "nullable": false,
74
+ "format": null,
75
+ "max_length": null,
76
+ "choices": null,
77
+ "default": null,
78
+ "validators": [],
79
+ "max_digits": null,
80
+ "decimal_places": null,
81
+ "read_only": false,
82
+ "ref": null
83
+ },
84
+ "price": {
85
+ "type": "number",
86
+ "title": "Price",
87
+ "required": true,
88
+ "description": null,
89
+ "nullable": false,
90
+ "format": "decimal",
91
+ "max_length": null,
92
+ "choices": null,
93
+ "default": null,
94
+ "validators": [],
95
+ "max_digits": 10,
96
+ "decimal_places": 2,
97
+ "read_only": false,
98
+ "ref": null
99
+ },
100
+ "subtotal": {
101
+ "type": "number",
102
+ "title": "Subtotal",
103
+ "required": true,
104
+ "description": null,
105
+ "nullable": false,
106
+ "format": "decimal",
107
+ "max_length": null,
108
+ "choices": null,
109
+ "default": null,
110
+ "validators": [],
111
+ "max_digits": 10,
112
+ "decimal_places": 2,
113
+ "read_only": true,
114
+ "ref": null
115
+ }
116
+ },
117
+ "relationships": {
118
+ "order": {
119
+ "type": "foreign-key",
120
+ "model": "django_app.order",
121
+ "class_name": "Order",
122
+ "primary_key_field": "id"
123
+ },
124
+ "product": {
125
+ "type": "foreign-key",
126
+ "model": "django_app.product",
127
+ "class_name": "Product",
128
+ "primary_key_field": "id"
129
+ }
130
+ },
131
+ "default_ordering": null,
132
+ "definitions": {
133
+ "MoneyField": {
134
+ "type": "object",
135
+ "properties": {
136
+ "amount": {
137
+ "type": "number"
138
+ },
139
+ "currency": {
140
+ "type": "string"
141
+ }
142
+ }
143
+ }
144
+ },
145
+ "datetime_format": "iso-8601",
146
+ "date_format": "iso-8601",
147
+ "time_format": "iso-8601",
148
+ "display": null
149
+ }
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Model-specific QuerySet implementation
3
+ */
4
+ export class ProductQuerySet {
5
+ }
6
+ /**
7
+ * Model-specific Manager implementation
8
+ */
9
+ export class ProductManager {
10
+ constructor(ModelClass: any);
11
+ newQuerySet(): ProductQuerySet;
12
+ }
13
+ /**
14
+ * Implementation of the Product model
15
+ */
16
+ export class Product {
17
+ static configKey: string;
18
+ static modelName: string;
19
+ static primaryKeyField: string;
20
+ static objects: ProductManager;
21
+ static fields: string[];
22
+ static schema: {
23
+ model_name: string;
24
+ title: string;
25
+ class_name: string;
26
+ plural_title: string;
27
+ primary_key_field: string;
28
+ filterable_fields: string[];
29
+ searchable_fields: string[];
30
+ ordering_fields: string[];
31
+ properties: {
32
+ id: {
33
+ type: string;
34
+ title: string;
35
+ required: boolean;
36
+ description: null;
37
+ nullable: boolean;
38
+ format: string;
39
+ max_length: null;
40
+ choices: null;
41
+ default: null;
42
+ validators: never[];
43
+ max_digits: null;
44
+ decimal_places: null;
45
+ read_only: boolean;
46
+ ref: null;
47
+ };
48
+ name: {
49
+ type: string;
50
+ title: string;
51
+ required: boolean;
52
+ description: null;
53
+ nullable: boolean;
54
+ format: null;
55
+ max_length: number;
56
+ choices: null;
57
+ default: null;
58
+ validators: never[];
59
+ max_digits: null;
60
+ decimal_places: null;
61
+ read_only: boolean;
62
+ ref: null;
63
+ };
64
+ description: {
65
+ type: string;
66
+ title: string;
67
+ required: boolean;
68
+ description: null;
69
+ nullable: boolean;
70
+ format: string;
71
+ max_length: null;
72
+ choices: null;
73
+ default: null;
74
+ validators: never[];
75
+ max_digits: null;
76
+ decimal_places: null;
77
+ read_only: boolean;
78
+ ref: null;
79
+ };
80
+ price: {
81
+ type: string;
82
+ title: string;
83
+ required: boolean;
84
+ description: null;
85
+ nullable: boolean;
86
+ format: string;
87
+ max_length: null;
88
+ choices: null;
89
+ default: null;
90
+ validators: never[];
91
+ max_digits: number;
92
+ decimal_places: number;
93
+ read_only: boolean;
94
+ ref: null;
95
+ };
96
+ category: {
97
+ type: string;
98
+ title: string;
99
+ required: boolean;
100
+ description: null;
101
+ nullable: boolean;
102
+ format: string;
103
+ max_length: null;
104
+ choices: null;
105
+ default: null;
106
+ validators: never[];
107
+ max_digits: null;
108
+ decimal_places: null;
109
+ read_only: boolean;
110
+ ref: null;
111
+ };
112
+ in_stock: {
113
+ type: string;
114
+ title: string;
115
+ required: boolean;
116
+ description: null;
117
+ nullable: boolean;
118
+ format: null;
119
+ max_length: null;
120
+ choices: null;
121
+ default: boolean;
122
+ validators: never[];
123
+ max_digits: null;
124
+ decimal_places: null;
125
+ read_only: boolean;
126
+ ref: null;
127
+ };
128
+ created_at: {
129
+ type: string;
130
+ title: string;
131
+ required: boolean;
132
+ description: null;
133
+ nullable: boolean;
134
+ format: string;
135
+ max_length: null;
136
+ choices: null;
137
+ default: string;
138
+ validators: never[];
139
+ max_digits: null;
140
+ decimal_places: null;
141
+ read_only: boolean;
142
+ ref: null;
143
+ };
144
+ created_by: {
145
+ type: string;
146
+ title: string;
147
+ required: boolean;
148
+ description: null;
149
+ nullable: boolean;
150
+ format: null;
151
+ max_length: number;
152
+ choices: null;
153
+ default: null;
154
+ validators: never[];
155
+ max_digits: null;
156
+ decimal_places: null;
157
+ read_only: boolean;
158
+ ref: null;
159
+ };
160
+ price_with_tax: {
161
+ type: string;
162
+ title: string;
163
+ required: boolean;
164
+ description: null;
165
+ nullable: boolean;
166
+ format: string;
167
+ max_length: null;
168
+ choices: null;
169
+ default: null;
170
+ validators: never[];
171
+ max_digits: number;
172
+ decimal_places: number;
173
+ read_only: boolean;
174
+ ref: null;
175
+ };
176
+ display_name: {
177
+ type: string;
178
+ title: string;
179
+ required: boolean;
180
+ description: null;
181
+ nullable: boolean;
182
+ format: null;
183
+ max_length: number;
184
+ choices: null;
185
+ default: null;
186
+ validators: never[];
187
+ max_digits: null;
188
+ decimal_places: null;
189
+ read_only: boolean;
190
+ ref: null;
191
+ };
192
+ };
193
+ relationships: {
194
+ category: {
195
+ type: string;
196
+ model: string;
197
+ class_name: string;
198
+ primary_key_field: string;
199
+ };
200
+ };
201
+ default_ordering: null;
202
+ definitions: {
203
+ MoneyField: {
204
+ type: string;
205
+ properties: {
206
+ amount: {
207
+ type: string;
208
+ };
209
+ currency: {
210
+ type: string;
211
+ };
212
+ };
213
+ };
214
+ };
215
+ datetime_format: string;
216
+ date_format: string;
217
+ time_format: string;
218
+ display: {
219
+ display_title: string;
220
+ display_description: string;
221
+ field_groups: {
222
+ display_title: string;
223
+ display_description: string;
224
+ field_names: string[];
225
+ }[];
226
+ field_display_configs: ({
227
+ field_name: string;
228
+ display_component: string;
229
+ filter_queryset: null;
230
+ display_help_text: string;
231
+ extra: null;
232
+ } | {
233
+ field_name: string;
234
+ display_component: string;
235
+ filter_queryset: {
236
+ name__icontains: string;
237
+ };
238
+ display_help_text: string;
239
+ extra: null;
240
+ })[];
241
+ extra: null;
242
+ };
243
+ };
244
+ static relationshipFields: Map<string, {
245
+ ModelClass: () => any;
246
+ relationshipType: string;
247
+ }>;
248
+ constructor(data: any);
249
+ /**
250
+ * Define property getters and setters for all model fields
251
+ * @private
252
+ */
253
+ private _defineProperties;
254
+ }
@@ -0,0 +1,71 @@
1
+ /**
2
+ * This file was auto-generated. Do not make direct changes to the file.
3
+ */
4
+ import { Model, Manager, QuerySet, getModelClass } from '../../../../src';
5
+ import { wrapReactiveModel } from '../../../../src';
6
+ import schemaData from './product.schema.json';
7
+ /**
8
+ * Model-specific QuerySet implementation
9
+ */
10
+ export class ProductQuerySet extends QuerySet {
11
+ }
12
+ /**
13
+ * Model-specific Manager implementation
14
+ */
15
+ export class ProductManager extends Manager {
16
+ constructor(ModelClass) {
17
+ super(ModelClass, ProductQuerySet);
18
+ }
19
+ newQuerySet() {
20
+ return new ProductQuerySet(this.ModelClass);
21
+ }
22
+ }
23
+ /**
24
+ * Implementation of the Product model
25
+ */
26
+ export class Product extends Model {
27
+ constructor(data) {
28
+ Product.validateFields(data);
29
+ super(data);
30
+ // Define getters and setters for all fields
31
+ this._defineProperties();
32
+ return wrapReactiveModel(this);
33
+ }
34
+ /**
35
+ * Define property getters and setters for all model fields
36
+ * @private
37
+ */
38
+ _defineProperties() {
39
+ // For each field, define a property that gets/sets from internal storage
40
+ Product.fields.forEach(field => {
41
+ Object.defineProperty(this, field, {
42
+ get: function () {
43
+ return this.getField(field);
44
+ },
45
+ set: function (value) {
46
+ this.setField(field, value);
47
+ },
48
+ enumerable: true, // Make sure fields are enumerable for serialization
49
+ configurable: true
50
+ });
51
+ });
52
+ // Add a special read-only getter for the repr field
53
+ Object.defineProperty(this, 'repr', {
54
+ get: function () {
55
+ return this.getField('repr');
56
+ },
57
+ enumerable: true, // Make sure repr is enumerable
58
+ configurable: true
59
+ });
60
+ }
61
+ }
62
+ // Bind this model to its backend
63
+ Product.configKey = 'default';
64
+ Product.modelName = 'django_app.product';
65
+ Product.primaryKeyField = 'id';
66
+ Product.objects = new ProductManager(Product);
67
+ Product.fields = ['id', 'name', 'description', 'price', 'category', 'in_stock', 'created_at', 'created_by', 'price_with_tax', 'display_name'];
68
+ Product.schema = schemaData;
69
+ Product.relationshipFields = new Map([
70
+ ['category', { 'ModelClass': () => getModelClass('django_app.productcategory', 'default'), 'relationshipType': 'foreign-key' }]
71
+ ]);