Files
pole-book/server/node_modules/@strapi/database/dist/entity-manager/entity-repository.mjs.map

1 line
9.5 KiB
Plaintext

{"version":3,"file":"entity-repository.mjs","sources":["../../src/entity-manager/entity-repository.ts"],"sourcesContent":["import { isString } from 'lodash/fp';\nimport type { Database } from '..';\nimport type { Repository, Params } from './types';\n\nconst withDefaultPagination = (params: Params) => {\n const { page = 1, pageSize = 10, ...rest } = params;\n\n return {\n page: Number(page),\n pageSize: Number(pageSize),\n ...rest,\n };\n};\n\ntype ParamsWithLimits = Omit<Params, 'page' | 'pageSize'> & {\n limit: number;\n offset: number;\n};\n\nconst withOffsetLimit = (\n params: Params\n): [ParamsWithLimits, { page: number; pageSize: number }] => {\n const { page, pageSize, ...rest } = withDefaultPagination(params);\n\n const offset = Math.max(page - 1, 0) * pageSize;\n const limit = pageSize;\n\n const query = {\n ...rest,\n limit,\n offset,\n };\n\n return [query, { page, pageSize }];\n};\n\nexport const createRepository = (uid: string, db: Database): Repository => {\n return {\n findOne(params = {}) {\n return db.entityManager.findOne(uid, params);\n },\n\n findMany(params = {}) {\n return db.entityManager.findMany(uid, params);\n },\n\n findWithCount(params = {}) {\n return Promise.all([\n db.entityManager.findMany(uid, params),\n db.entityManager.count(uid, params),\n ]);\n },\n\n async findPage(params) {\n const [query, { page, pageSize }] = withOffsetLimit(params);\n\n const [results, total] = await Promise.all([\n db.entityManager.findMany(uid, query),\n db.entityManager.count(uid, query),\n ]);\n\n return {\n results,\n pagination: {\n page,\n pageSize,\n pageCount: Math.ceil(total / pageSize),\n total,\n },\n };\n },\n\n create(params) {\n return db.entityManager.create(uid, params);\n },\n\n createMany(params) {\n return db.entityManager.createMany(uid, params);\n },\n\n update(params) {\n return db.entityManager.update(uid, params);\n },\n\n updateMany(params) {\n return db.entityManager.updateMany(uid, params);\n },\n\n delete(params) {\n return db.entityManager.delete(uid, params);\n },\n\n deleteMany(params = {}) {\n return db.entityManager.deleteMany(uid, params);\n },\n\n count(params) {\n return db.entityManager.count(uid, params);\n },\n\n attachRelations(id, data) {\n return db.entityManager.attachRelations(uid, id, data);\n },\n\n async updateRelations(id, data) {\n const trx = await db.transaction();\n try {\n await db.entityManager.updateRelations(uid, id, data, { transaction: trx.get() });\n return await trx.commit();\n } catch (e) {\n await trx.rollback();\n throw e;\n }\n },\n\n deleteRelations(id) {\n return db.entityManager.deleteRelations(uid, id);\n },\n\n populate(entity, populate) {\n return db.entityManager.populate(uid, entity, populate);\n },\n\n load(entity, fields, params) {\n return db.entityManager.load(uid, entity, fields, params);\n },\n\n async loadPages(entity, field, params) {\n if (!isString(field)) {\n throw new Error(`Invalid load. Expected ${field} to be a string`);\n }\n\n const { attributes } = db.metadata.get(uid);\n const attribute = attributes[field];\n\n if (\n !attribute ||\n attribute.type !== 'relation' ||\n !attribute.relation ||\n !['oneToMany', 'manyToMany'].includes(attribute.relation)\n ) {\n throw new Error(`Invalid load. Expected ${field} to be an anyToMany relational attribute`);\n }\n\n const [query, { page, pageSize }] = withOffsetLimit(params);\n\n const [results, { count: total }] = await Promise.all([\n db.entityManager.load(uid, entity, field, query),\n db.entityManager.load(uid, entity, field, { ...query, count: true }),\n ]);\n\n return {\n results,\n pagination: {\n page,\n pageSize,\n pageCount: Math.ceil(total / pageSize),\n total,\n },\n };\n },\n };\n};\n"],"names":["withDefaultPagination","params","page","pageSize","rest","Number","withOffsetLimit","offset","Math","max","limit","query","createRepository","uid","db","findOne","entityManager","findMany","findWithCount","Promise","all","count","findPage","results","total","pagination","pageCount","ceil","create","createMany","update","updateMany","delete","deleteMany","attachRelations","id","data","updateRelations","trx","transaction","get","commit","e","rollback","deleteRelations","populate","entity","load","fields","loadPages","field","isString","Error","attributes","metadata","attribute","type","relation","includes"],"mappings":"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"}