feat: concept seeding
This commit is contained in:
@@ -1,28 +1,11 @@
|
|||||||
import {
|
import { Controller, Get, Sse } from '@nestjs/common';
|
||||||
Body,
|
|
||||||
Controller,
|
|
||||||
Delete,
|
|
||||||
Get,
|
|
||||||
HttpException,
|
|
||||||
HttpStatus,
|
|
||||||
Param,
|
|
||||||
ParseIntPipe,
|
|
||||||
Post,
|
|
||||||
Put,
|
|
||||||
Sse,
|
|
||||||
UseGuards,
|
|
||||||
} from '@nestjs/common';
|
|
||||||
|
|
||||||
import { ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger';
|
import { ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||||
import { AuthGuard } from 'src/users/guards/auth.guard';
|
|
||||||
|
|
||||||
import { fromEvent, map, Observable } from 'rxjs';
|
import { fromEvent, map, Observable } from 'rxjs';
|
||||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||||
|
|
||||||
import { ConceptService } from './concept.service';
|
import { ConceptService } from './concept.service';
|
||||||
import { Concept } from './entities/concept.entity';
|
|
||||||
import { ConceptPipe } from './concept.pipe';
|
|
||||||
import { ConceptRecieveDTO } from './dto/conceptrecieve.dto';
|
|
||||||
import {
|
import {
|
||||||
ConceptResponseDTO,
|
ConceptResponseDTO,
|
||||||
ConceptTypeResponseDTO,
|
ConceptTypeResponseDTO,
|
||||||
@@ -47,25 +30,25 @@ export class ConceptController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Delete(':id')
|
// @Delete(':id')
|
||||||
@ApiOperation({ summary: 'Delete a concept' })
|
// @ApiOperation({ summary: 'Delete a concept' })
|
||||||
@UseGuards(AuthGuard)
|
// @UseGuards(AuthGuard)
|
||||||
async delete(@Param('id') id: number) {
|
// async delete(@Param('id') id: number) {
|
||||||
const concept = await this.conceptService.getById(id);
|
// const concept = await this.conceptService.getById(id);
|
||||||
if (!concept) {
|
// if (!concept) {
|
||||||
throw new HttpException('Concept not found', HttpStatus.NOT_FOUND);
|
// throw new HttpException('Concept not found', HttpStatus.NOT_FOUND);
|
||||||
}
|
// }
|
||||||
await this.conceptService.delete(concept);
|
// await this.conceptService.delete(concept);
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Post('/')
|
// @Post('/')
|
||||||
@ApiOperation({ summary: 'Submit a concept' })
|
// @ApiOperation({ summary: 'Submit a concept' })
|
||||||
@ApiBody({ type: ConceptRecieveDTO })
|
// @ApiBody({ type: ConceptRecieveDTO })
|
||||||
@UseGuards(AuthGuard)
|
// @UseGuards(AuthGuard)
|
||||||
async create(@Body('value') value: string) {
|
// async create(@Body('value') value: string) {
|
||||||
const concept = await this.conceptService.create(value, 'placeholder.jpg');
|
// const concept = await this.conceptService.create(value, 'placeholder.jpg');
|
||||||
return new ConceptResponseDTO(concept);
|
// return new ConceptResponseDTO(concept);
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Get('/')
|
@Get('/')
|
||||||
@ApiOperation({ summary: 'List enabled concept' })
|
@ApiOperation({ summary: 'List enabled concept' })
|
||||||
@@ -91,25 +74,25 @@ export class ConceptController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Put(':id/enable')
|
// @Put(':id/enable')
|
||||||
@ApiOperation({ summary: 'Enable a concept' })
|
// @ApiOperation({ summary: 'Enable a concept' })
|
||||||
@UseGuards(AuthGuard)
|
// @UseGuards(AuthGuard)
|
||||||
async enable(
|
// async enable(
|
||||||
@Param('id', ParseIntPipe) _id: string,
|
// @Param('id', ParseIntPipe) _id: string,
|
||||||
@Param('id', ConceptPipe) concept: Concept,
|
// @Param('id', ConceptPipe) concept: Concept,
|
||||||
) {
|
// ) {
|
||||||
await this.conceptService.enable(concept);
|
// await this.conceptService.enable(concept);
|
||||||
return new ConceptResponseDTO(concept);
|
// return new ConceptResponseDTO(concept);
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Put(':id/disable')
|
// @Put(':id/disable')
|
||||||
@ApiOperation({ summary: 'Disable a word' })
|
// @ApiOperation({ summary: 'Disable a concept' })
|
||||||
@UseGuards(AuthGuard)
|
// @UseGuards(AuthGuard)
|
||||||
async disable(
|
// async disable(
|
||||||
@Param('id', ParseIntPipe) _id: string,
|
// @Param('id', ParseIntPipe) _id: string,
|
||||||
@Param('id', ConceptPipe) concept: Concept,
|
// @Param('id', ConceptPipe) concept: Concept,
|
||||||
) {
|
// ) {
|
||||||
await this.conceptService.disable(concept);
|
// await this.conceptService.disable(concept);
|
||||||
return new ConceptResponseDTO(concept);
|
// return new ConceptResponseDTO(concept);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ import {
|
|||||||
} from 'events/concept.events';
|
} from 'events/concept.events';
|
||||||
import { ConceptType } from './entities/concepttype.entity';
|
import { ConceptType } from './entities/concepttype.entity';
|
||||||
|
|
||||||
import typeSeeds from './concept.seed.json';
|
import typeSeeds from './seeds/concepttype.seed.json';
|
||||||
|
import conceptSeeds from './seeds/concept.seed.json';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class ConceptService {
|
export class ConceptService {
|
||||||
@@ -23,7 +24,15 @@ export class ConceptService {
|
|||||||
private conceptTypeRepository: Repository<ConceptType>,
|
private conceptTypeRepository: Repository<ConceptType>,
|
||||||
private eventEmitter: EventEmitter2,
|
private eventEmitter: EventEmitter2,
|
||||||
) {
|
) {
|
||||||
void conceptTypeRepository.save(typeSeeds as DeepPartial<ConceptType>[]);
|
void conceptTypeRepository
|
||||||
|
.upsert(typeSeeds as DeepPartial<ConceptType>[], {
|
||||||
|
conflictPaths: ['id'],
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
void conceptRepository.upsert(conceptSeeds as DeepPartial<Concept>[], {
|
||||||
|
conflictPaths: ['id'],
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async getById(id: number) {
|
async getById(id: number) {
|
||||||
|
|||||||
@@ -1,16 +1,10 @@
|
|||||||
import {
|
import { Column, Entity, ManyToOne, PrimaryColumn, Unique } from 'typeorm';
|
||||||
Column,
|
|
||||||
Entity,
|
|
||||||
ManyToOne,
|
|
||||||
PrimaryGeneratedColumn,
|
|
||||||
Unique,
|
|
||||||
} from 'typeorm';
|
|
||||||
import { ConceptType } from './concepttype.entity';
|
import { ConceptType } from './concepttype.entity';
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
@Unique(['value'])
|
@Unique(['value'])
|
||||||
export class Concept {
|
export class Concept {
|
||||||
@PrimaryGeneratedColumn()
|
@PrimaryColumn()
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@Column()
|
@Column()
|
||||||
|
|||||||
@@ -0,0 +1,946 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "object",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "family",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "female",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "male",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "job",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "activity",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "animals",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "nature",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "litterature",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "music",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "cinema",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "art",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 13,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "television",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 14,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "title",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 15,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "idea",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 16,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "expression",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 17,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "location",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 18,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "city",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 19,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "date",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 20,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "party",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 21,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "naval transport",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 22,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "aerial transport",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 23,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "land transport",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 24,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "tools",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 25,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "games",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 26,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "clothes",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 27,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "food",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 28,
|
||||||
|
"type": {
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
"value": "house",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 29,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "real",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 30,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "fictive",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 31,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "young",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 32,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "old",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 33,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "slow",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 34,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "fast",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 35,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "protect",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 36,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "attack",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 37,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "love",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 38,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "death",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 39,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "happy",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 40,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "sad",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 41,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "electronics",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 42,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "mechanics",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 43,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "money",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 44,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "time",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 45,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "religion",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 46,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "authority",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 47,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "chemistry",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 48,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "medecine",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 49,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "head",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 50,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "arm",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 51,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "torso",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 52,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "leg",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 53,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "ear",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 54,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "nose",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 55,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "eye",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 56,
|
||||||
|
"type": {
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
"value": "mouth",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 57,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "rain",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 58,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "thunder",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 59,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "night",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 60,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "day",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 61,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "fire",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 62,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "water",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 63,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "wind",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 64,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "earth",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 65,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "stone",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 66,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "wood",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 67,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "metal",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 68,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "cloth",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 69,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "plastic",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 70,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "paper",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 71,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "inverse",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 72,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "cut",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 73,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "multiple",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 74,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "puzzle",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 75,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "inside",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 76,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "grid",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 77,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "zero",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 78,
|
||||||
|
"type": {
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
"value": "one",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 79,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "line",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 80,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "curve",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 81,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "plus",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 82,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "zigzag",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 83,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "spiral",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 84,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "sinusoid",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 85,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "circle",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 86,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "disk",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 87,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "triangle",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 88,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "star",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 89,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "square",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 90,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "plane",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 91,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "cube",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 92,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "sphere",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 93,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "prism",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 94,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "cylinder",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 95,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "cone",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 96,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "hole",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 97,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "tall",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 98,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "small",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 99,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "large",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 100,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "narrow",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 101,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "up",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 102,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "down",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 103,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "left",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 104,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "right",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 105,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "repeat",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 106,
|
||||||
|
"type": {
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
"value": "action",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 107,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "red",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 108,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "orange",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 109,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "yellow",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 110,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "green",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 111,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "blue",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 112,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "purple",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 113,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "pink",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 114,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "brown",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 115,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "black",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 116,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "gray",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 117,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "white",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 118,
|
||||||
|
"type": {
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
"value": "transparent",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user