vona-module-a-orm 5.0.63 → 5.0.65

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/dist/index.js CHANGED
@@ -1970,7 +1970,7 @@ class BeanModelCrudInner extends BeanModelView {
1970
1970
  // builder
1971
1971
  builder = builder ?? this._select_buildParams(table, params, options);
1972
1972
  // ready
1973
- this.$loggerChild('model').debug('model.select: %s', builder.toQuery());
1973
+ this.$loggerChild('model').debug(() => `model.select: ${builder.toQuery()}`);
1974
1974
  return await builder;
1975
1975
  }
1976
1976
  _select_buildParams(table, params, options) {
@@ -2032,7 +2032,7 @@ class BeanModelCrudInner extends BeanModelView {
2032
2032
  // where
2033
2033
  this.prepareWhere(builder, table, params.where, options);
2034
2034
  // ready
2035
- this.$loggerChild('model').debug('model.count: %s', builder.toQuery());
2035
+ this.$loggerChild('model').debug(() => `model.count: ${builder.toQuery()}`);
2036
2036
  const res = await builder;
2037
2037
  return this.extractFirstNumber(res);
2038
2038
  }
@@ -2060,7 +2060,7 @@ class BeanModelCrudInner extends BeanModelView {
2060
2060
  // builder
2061
2061
  const builder = this.builder(table);
2062
2062
  // // debug
2063
- // this.$loggerChild('model').debug('model.insert: %s', builder.toQuery());
2063
+ // this.$loggerChild('model').debug(() => `model.insert: ${builder.toQuery()}`);
2064
2064
  // dialect insert
2065
2065
  const ids = await this.dialect.insert(builder, datas);
2066
2066
  // combine
@@ -2102,7 +2102,7 @@ class BeanModelCrudInner extends BeanModelView {
2102
2102
  // where
2103
2103
  this.prepareWhere(builder, table, where, options);
2104
2104
  // debug
2105
- this.$loggerChild('model').debug('model.update: %s', builder.toQuery());
2105
+ this.$loggerChild('model').debug(() => `model.update: ${builder.toQuery()}`);
2106
2106
  // ready
2107
2107
  await builder;
2108
2108
  // ok
@@ -2130,7 +2130,7 @@ class BeanModelCrudInner extends BeanModelView {
2130
2130
  // where
2131
2131
  this.prepareWhere(builder, table, where, options);
2132
2132
  // debug
2133
- this.$loggerChild('model').debug('model.delete: %s', builder.toQuery());
2133
+ this.$loggerChild('model').debug(() => `model.delete: ${builder.toQuery()}`);
2134
2134
  // ready
2135
2135
  await builder;
2136
2136
  }
@@ -3060,6 +3060,10 @@ class BeanModelCache extends BeanModelCrud {
3060
3060
  return this.convertItemsToBigNumber(items);
3061
3061
  }
3062
3062
  async selectAndCount(params, options, modelJoins) {
3063
+ // pageNo/pageSize
3064
+ const pageSize = params?.limit;
3065
+ if (!pageSize) throw new Error('should specify the page size');
3066
+ const pageNo = Math.floor(params.offset / pageSize) + 1;
3063
3067
  // count
3064
3068
  const paramsCount = Object.assign({}, params, {
3065
3069
  columns: undefined,
@@ -3076,10 +3080,15 @@ class BeanModelCache extends BeanModelCrud {
3076
3080
  } else {
3077
3081
  list = await this.select(params, options, modelJoins);
3078
3082
  }
3083
+ // pageNo/pageSize/pageCount
3084
+ const pageCount = Math.ceil(count.div(pageSize).toNumber());
3079
3085
  // ok
3080
3086
  return {
3081
3087
  list,
3082
- total: count
3088
+ total: count,
3089
+ pageCount,
3090
+ pageSize,
3091
+ pageNo
3083
3092
  };
3084
3093
  }
3085
3094
  async select(params, options, _modelJoins) {
@@ -4176,6 +4185,9 @@ function DtoSelectAndCount(modelLike, params) {
4176
4185
  const DtoGetResult = DtoGet(modelLike, params);
4177
4186
  Api.field(v.array(DtoGetResult))(TargetClass.prototype, 'list');
4178
4187
  Api.field(v.bigNumber())(TargetClass.prototype, 'total');
4188
+ Api.field(z.number())(TargetClass.prototype, 'pageCount');
4189
+ Api.field(z.number())(TargetClass.prototype, 'pageSize');
4190
+ Api.field(z.number())(TargetClass.prototype, 'pageNo');
4179
4191
  return TargetClass;
4180
4192
  }
4181
4193
 
@@ -5,4 +5,7 @@ import type { TypeDtoGetResult } from './dtoGet.ts';
5
5
  export interface TypeDtoSelectAndCountResult<ModelLike extends BeanModelMeta | (keyof IModelClassRecord), TOptionsRelation> {
6
6
  list: TypeDtoGetResult<ModelLike, TOptionsRelation>[];
7
7
  total: BigNumber;
8
+ pageCount: number;
9
+ pageSize: number;
10
+ pageNo: number;
8
11
  }
@@ -101,6 +101,9 @@ export type TypeUtilGetColumnsFromRelationAndIncludeWrapper<Relation, IncludeWra
101
101
  export interface TypeModelSelectAndCount<TRecord, TModel extends BeanModelMeta | undefined, TOptionsRelation, TColumns = undefined, Aggrs = undefined, Groups = undefined, Depth extends TypeDepthPrev[number] = TypeDepthPrevMax> {
102
102
  list: TypeModelRelationResult<TRecord, TModel, TOptionsRelation, TColumns, Aggrs, Groups, Depth>[];
103
103
  total: BigNumber;
104
+ pageCount: number;
105
+ pageSize: number;
106
+ pageNo: number;
104
107
  }
105
108
  export type TypeModelRelationResult<TRecord, TModel extends BeanModelMeta | undefined, TOptionsRelation, TColumns = undefined, Aggrs = undefined, Groups = undefined, Depth extends TypeDepthPrev[number] = TypeDepthPrevMax> = Groups extends string | string[] ? TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, TColumns> : Aggrs extends {} ? TypeModelAggrRelationResultAggrs<Aggrs> : TypeModelRelationResult_Normal<TRecord, TModel, TOptionsRelation, TColumns, Depth>;
106
109
  export type TypeModelRelationResult_Normal<TRecord, TModel extends BeanModelMeta | undefined, TOptionsRelation, TColumns = undefined, Depth extends TypeDepthPrev[number] = TypeDepthPrevMax> = TypeUtilEntitySelector<TRecord, TypeUtilPrepareColumns<TColumns extends string | string[] ? TColumns : TypeUtilGetParamsColumns<TOptionsRelation>>> & (TModel extends BeanModelMeta ? (OmitNever<TypeModelRelationResultMergeInclude<TypeUtilGetModelOptions<TModel>, TypeUtilGetParamsInlcude<TOptionsRelation>, Depth>> & OmitNever<TypeModelRelationResultMergeWith<TypeUtilGetParamsWith<TOptionsRelation>, Depth>>) : {});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-module-a-orm",
3
3
  "type": "module",
4
- "version": "5.0.63",
4
+ "version": "5.0.65",
5
5
  "title": "a-orm",
6
6
  "vonaModule": {
7
7
  "capabilities": {