@things-factory/resource-base 7.0.1-alpha.5 → 7.0.1-alpha.55
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-server/index.js +0 -1
- package/dist-server/index.js.map +1 -1
- package/dist-server/service/entity/entity-mutation.js +2 -6
- package/dist-server/service/entity/entity-mutation.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -4
- package/server/index.ts +0 -1
- package/server/service/entity/entity-mutation.ts +4 -17
- package/things-factory.config.js +1 -5
- package/client/bootstrap.js +0 -4
- package/client/index.js +0 -2
- package/client/menu-meta.js +0 -77
- package/client/mixin/resource-parser.js +0 -178
- package/dist-server/constants/del-strategy-type.js +0 -10
- package/dist-server/constants/del-strategy-type.js.map +0 -1
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/server/constants/del-strategy-type.ts +0 -6
- package/server/migrations/index.ts +0 -9
package/dist-server/index.js
CHANGED
package/dist-server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB","sourcesContent":["export * from './service'\n"]}
|
|
@@ -40,9 +40,7 @@ let EntityMutation = class EntityMutation {
|
|
|
40
40
|
for (let i = 0; i < _createRecords.length; i++) {
|
|
41
41
|
const newRecord = _createRecords[i];
|
|
42
42
|
if (newRecord.master) {
|
|
43
|
-
newRecord.master = (await tx
|
|
44
|
-
.getRepository(entity_1.Entity)
|
|
45
|
-
.findOne({ where: { domain: { id: domain.id }, id: newRecord.master } }));
|
|
43
|
+
newRecord.master = (await tx.getRepository(entity_1.Entity).findOne({ where: { domain: { id: domain.id }, id: newRecord.master } }));
|
|
46
44
|
}
|
|
47
45
|
if (newRecord.children && newRecord.children.length) {
|
|
48
46
|
newRecord.children = (await tx.getRepository(entity_1.Entity).findBy({ id: (0, typeorm_1.In)(newRecord.children) }));
|
|
@@ -56,9 +54,7 @@ let EntityMutation = class EntityMutation {
|
|
|
56
54
|
const updateRecord = _updateRecords[i];
|
|
57
55
|
const entity = await entityRepo.findOneBy({ id: updateRecord.id });
|
|
58
56
|
if (updateRecord.master) {
|
|
59
|
-
updateRecord.master = (await tx
|
|
60
|
-
.getRepository(entity_1.Entity)
|
|
61
|
-
.findOne({ where: { domain: { id: domain.id }, id: updateRecord.master } }));
|
|
57
|
+
updateRecord.master = (await tx.getRepository(entity_1.Entity).findOne({ where: { domain: { id: domain.id }, id: updateRecord.master } }));
|
|
62
58
|
}
|
|
63
59
|
if (updateRecord.children && updateRecord.children.length) {
|
|
64
60
|
updateRecord.children = (await tx.getRepository(entity_1.Entity).findBy({ id: (0, typeorm_1.In)(updateRecord.children) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-mutation.js","sourceRoot":"","sources":["../../../server/service/entity/entity-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { DEL_STRATEGY } from '../../constants/del-strategy-type'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { EntityColumn } from '../entity-column/entity-column'\n\nimport { Entity } from './entity'\nimport { EntityPatch, NewEntity } from './entity-type'\n\n@Resolver(Entity)\nexport class EntityMutation {\n @Directive('@transaction')\n @Mutation(returns => Entity, { description: 'To create new Entity' })\n async createEntity(@Arg('entity') entity: NewEntity, @Ctx() context: ResolverContext): Promise<Entity> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Entity)\n\n if (entity.master) {\n entity.master = (await repository.findOne({ where: { id: entity.master } })) as any\n }\n\n return await repository.save({\n ...(entity as any),\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Entity, { description: \"To modify Entity' information\" })\n async updateEntity(\n @Arg('id', type => String) id: string,\n @Arg('patch', type => EntityPatch) patch: EntityPatch,\n @Ctx() context: ResolverContext\n ): Promise<Entity> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Entity)\n const entity = repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['master', 'children']\n })\n\n if (patch.master) {\n patch.master = (await repository.findOne({ where: { domain: { id: domain.id }, id: patch.master } })) as any\n }\n\n if (patch.children && patch.children.length) {\n patch.children = (await repository.findBy({ id: In(patch.children) })) as any\n }\n\n return await repository.save({\n ...entity,\n ...(patch as any),\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Entity], { description: \"To modify multiple Entitys' information\" })\n async updateMultipleEntity(\n @Arg('patches', type => [EntityPatch]) patches: EntityPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Entity[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const entityRepo = tx.getRepository(Entity)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n if (newRecord.master) {\n newRecord.master = (await tx\n .getRepository(Entity)\n .findOne({ where: { domain: { id: domain.id }, id: newRecord.master } })) as any\n }\n\n if (newRecord.children && newRecord.children.length) {\n newRecord.children = (await tx.getRepository(Entity).findBy({ id: In(newRecord.children) })) as any\n }\n\n const result = await entityRepo.save({\n ...(newRecord as any),\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const entity = await entityRepo.findOneBy({ id: updateRecord.id })\n\n if (updateRecord.master) {\n updateRecord.master = (await tx\n .getRepository(Entity)\n .findOne({ where: { domain: { id: domain.id }, id: updateRecord.master } })) as any\n }\n\n if (updateRecord.children && updateRecord.children.length) {\n updateRecord.children = (await tx.getRepository(Entity).findBy({ id: In(updateRecord.children) })) as any\n }\n\n const result = await entityRepo.save({\n ...entity,\n ...(updateRecord as any),\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Entity' })\n async deleteEntity(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n const entityRepo = tx.getRepository(Entity)\n\n const entity: Entity = await entityRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['columns']\n })\n\n if (entity.columns.length) throw new Error('cannot delete Entity because columns of entity exists')\n else await entityRepo.delete(entity.id)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple Entities' })\n async deleteEntities(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n const entityRepo = tx.getRepository(Entity)\n\n for (const id of ids) {\n const entity: Entity = await entityRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['columns']\n })\n\n if (entity.columns.length) throw new Error('cannot delete Entity because columns of entity exists')\n else await entityRepo.delete(entity.id)\n }\n\n return true\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"entity-mutation.js","sourceRoot":"","sources":["../../../server/service/entity/entity-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Entity } from './entity'\nimport { EntityPatch, NewEntity } from './entity-type'\n\n@Resolver(Entity)\nexport class EntityMutation {\n @Directive('@transaction')\n @Mutation(returns => Entity, { description: 'To create new Entity' })\n async createEntity(@Arg('entity') entity: NewEntity, @Ctx() context: ResolverContext): Promise<Entity> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Entity)\n\n if (entity.master) {\n entity.master = (await repository.findOne({ where: { id: entity.master } })) as any\n }\n\n return await repository.save({\n ...(entity as any),\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Entity, { description: \"To modify Entity' information\" })\n async updateEntity(@Arg('id', type => String) id: string, @Arg('patch', type => EntityPatch) patch: EntityPatch, @Ctx() context: ResolverContext): Promise<Entity> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Entity)\n const entity = repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['master', 'children']\n })\n\n if (patch.master) {\n patch.master = (await repository.findOne({ where: { domain: { id: domain.id }, id: patch.master } })) as any\n }\n\n if (patch.children && patch.children.length) {\n patch.children = (await repository.findBy({ id: In(patch.children) })) as any\n }\n\n return await repository.save({\n ...entity,\n ...(patch as any),\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Entity], { description: \"To modify multiple Entitys' information\" })\n async updateMultipleEntity(@Arg('patches', type => [EntityPatch]) patches: EntityPatch[], @Ctx() context: ResolverContext): Promise<Entity[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const entityRepo = tx.getRepository(Entity)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n if (newRecord.master) {\n newRecord.master = (await tx.getRepository(Entity).findOne({ where: { domain: { id: domain.id }, id: newRecord.master } })) as any\n }\n\n if (newRecord.children && newRecord.children.length) {\n newRecord.children = (await tx.getRepository(Entity).findBy({ id: In(newRecord.children) })) as any\n }\n\n const result = await entityRepo.save({\n ...(newRecord as any),\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const entity = await entityRepo.findOneBy({ id: updateRecord.id })\n\n if (updateRecord.master) {\n updateRecord.master = (await tx.getRepository(Entity).findOne({ where: { domain: { id: domain.id }, id: updateRecord.master } })) as any\n }\n\n if (updateRecord.children && updateRecord.children.length) {\n updateRecord.children = (await tx.getRepository(Entity).findBy({ id: In(updateRecord.children) })) as any\n }\n\n const result = await entityRepo.save({\n ...entity,\n ...(updateRecord as any),\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Entity' })\n async deleteEntity(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n const entityRepo = tx.getRepository(Entity)\n\n const entity: Entity = await entityRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['columns']\n })\n\n if (entity.columns.length) throw new Error('cannot delete Entity because columns of entity exists')\n else await entityRepo.delete(entity.id)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple Entities' })\n async deleteEntities(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n const entityRepo = tx.getRepository(Entity)\n\n for (const id of ids) {\n const entity: Entity = await entityRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['columns']\n })\n\n if (entity.columns.length) throw new Error('cannot delete Entity because columns of entity exists')\n else await entityRepo.delete(entity.id)\n }\n\n return true\n }\n}\n"]}
|