diff --git a/02-TypeScript/16-CRUD/example/index.html b/02-TypeScript/16-CRUD/example/index.html new file mode 100644 index 000000000..2a527a636 --- /dev/null +++ b/02-TypeScript/16-CRUD/example/index.html @@ -0,0 +1,22 @@ + + + + + + + + Store + + + + + + + + + +

Store

+ set product + + + \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.d.ts new file mode 100644 index 000000000..3859d69c3 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.d.ts @@ -0,0 +1,6 @@ +import { AppService } from './app.service'; +export declare class AppController { + private readonly appService; + constructor(appService: AppService); + getHello(): string; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.js new file mode 100644 index 000000000..dcf0f7731 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.js @@ -0,0 +1,34 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppController = void 0; +const common_1 = require("@nestjs/common"); +const app_service_1 = require("./app.service"); +let AppController = class AppController { + constructor(appService) { + this.appService = appService; + } + getHello() { + return this.appService.getHello(); + } +}; +__decorate([ + (0, common_1.Get)(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", String) +], AppController.prototype, "getHello", null); +AppController = __decorate([ + (0, common_1.Controller)(), + __metadata("design:paramtypes", [app_service_1.AppService]) +], AppController); +exports.AppController = AppController; +//# sourceMappingURL=app.controller.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.js.map new file mode 100644 index 000000000..ba11630d4 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../src/app.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiD;AACjD,+CAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAGvD,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;CACF,CAAA;AAJC;IAAC,IAAA,YAAG,GAAE;;;;6CAGL;AANU,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAE8B,wBAAU;GADxC,aAAa,CAOzB;AAPY,sCAAa"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.d.ts new file mode 100644 index 000000000..09cdb35c8 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.d.ts @@ -0,0 +1,2 @@ +export declare class AppModule { +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.js new file mode 100644 index 000000000..a15dbb80b --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.js @@ -0,0 +1,26 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppModule = void 0; +const common_1 = require("@nestjs/common"); +const app_controller_1 = require("./app.controller"); +const app_service_1 = require("./app.service"); +const classes_module_1 = require("./models/classes/classes.module"); +const students_module_1 = require("./models/students/students.module"); +const database_1 = require("./providers/database"); +let AppModule = class AppModule { +}; +AppModule = __decorate([ + (0, common_1.Module)({ + imports: [classes_module_1.ClassesModule, students_module_1.StudentsModule, database_1.DatabaseModule], + controllers: [app_controller_1.AppController], + providers: [app_service_1.AppService], + }) +], AppModule); +exports.AppModule = AppModule; +//# sourceMappingURL=app.module.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.js.map new file mode 100644 index 000000000..537ab3e2e --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,oEAAgE;AAChE,uEAAmE;AACnE,mDAAsD;AAO/C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IALrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,EAAE,gCAAc,EAAC,yBAAc,CAAC;QACvD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG;AAAZ,8BAAS"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.d.ts new file mode 100644 index 000000000..0496e7902 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.d.ts @@ -0,0 +1,3 @@ +export declare class AppService { + getHello(): string; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.js new file mode 100644 index 000000000..6e6dfec2b --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.js @@ -0,0 +1,20 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppService = void 0; +const common_1 = require("@nestjs/common"); +let AppService = class AppService { + getHello() { + return 'Ksen is learning server side and loves it!'; + } +}; +AppService = __decorate([ + (0, common_1.Injectable)() +], AppService); +exports.AppService = AppService; +//# sourceMappingURL=app.service.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.js.map new file mode 100644 index 000000000..ab3c93d87 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/app.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.service.js","sourceRoot":"","sources":["../src/app.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,QAAQ;QACN,OAAO,4CAA4C,CAAC;IACtD,CAAC;CACF,CAAA;AAJY,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAItB;AAJY,gCAAU"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.d.ts new file mode 100644 index 000000000..3c8f748ec --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.d.ts @@ -0,0 +1,2 @@ +export * from './ormOp'; +export * from './providers'; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.js new file mode 100644 index 000000000..614893c32 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./ormOp"), exports); +__exportStar(require("./providers"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.js.map new file mode 100644 index 000000000..ad00d33c2 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,8CAA4B"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.d.ts new file mode 100644 index 000000000..e46e0d595 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.d.ts @@ -0,0 +1,13 @@ +export declare const operatorsORM: { + in: symbol; + or: symbol; + gt: symbol; + lt: symbol; + lte: symbol; + not: symbol; + gte: symbol; + and: symbol; + equal: symbol; + like: symbol; + notEqual: symbol; +}; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.js new file mode 100644 index 000000000..8894a39bb --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.operatorsORM = void 0; +const sequelize_1 = require("sequelize"); +exports.operatorsORM = { + in: sequelize_1.Op.in, + or: sequelize_1.Op.or, + gt: sequelize_1.Op.gt, + lt: sequelize_1.Op.lt, + lte: sequelize_1.Op.lte, + not: sequelize_1.Op.not, + gte: sequelize_1.Op.gte, + and: sequelize_1.Op.and, + equal: sequelize_1.Op.eq, + like: sequelize_1.Op.like, + notEqual: sequelize_1.Op.ne +}; +//# sourceMappingURL=ormOp.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.js.map new file mode 100644 index 000000000..9a0c465b8 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/ormOp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ormOp.js","sourceRoot":"","sources":["../../../src/common/constants/ormOp.ts"],"names":[],"mappings":";;;AACA,yCAA+B;AAElB,QAAA,YAAY,GAAG;IAC1B,EAAE,EAAE,cAAE,CAAC,EAAE;IACT,EAAE,EAAE,cAAE,CAAC,EAAE;IACT,EAAE,EAAE,cAAE,CAAC,EAAE;IACT,EAAE,EAAE,cAAE,CAAC,EAAE;IACT,GAAG,EAAE,cAAE,CAAC,GAAG;IACX,GAAG,EAAE,cAAE,CAAC,GAAG;IACX,GAAG,EAAE,cAAE,CAAC,GAAG;IACX,GAAG,EAAE,cAAE,CAAC,GAAG;IACX,KAAK,EAAE,cAAE,CAAC,EAAE;IACZ,IAAI,EAAE,cAAE,CAAC,IAAI;IACb,QAAQ,EAAE,cAAE,CAAC,EAAE;CAChB,CAAC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.d.ts new file mode 100644 index 000000000..f77672541 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.d.ts @@ -0,0 +1,3 @@ +export declare const SEQUELIZE = "SEQUELIZE"; +export declare const CLASS = "CLASS"; +export declare const STUDENT = "STUDENT"; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.js new file mode 100644 index 000000000..7d6c57112 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.STUDENT = exports.CLASS = exports.SEQUELIZE = void 0; +exports.SEQUELIZE = 'SEQUELIZE'; +exports.CLASS = 'CLASS'; +exports.STUDENT = 'STUDENT'; +//# sourceMappingURL=providers.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.js.map new file mode 100644 index 000000000..79bdcb34d --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/constants/providers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/common/constants/providers.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,WAAW,CAAC;AAExB,QAAA,KAAK,GAAG,OAAO,CAAC;AAEhB,QAAA,OAAO,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.d.ts new file mode 100644 index 000000000..3293e5fd8 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.d.ts @@ -0,0 +1 @@ +export * from './serialize.interceptor'; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.js new file mode 100644 index 000000000..597315f8e --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.js @@ -0,0 +1,18 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./serialize.interceptor"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.js.map new file mode 100644 index 000000000..a61dd854c --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.d.ts new file mode 100644 index 000000000..8ca71a6d6 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.d.ts @@ -0,0 +1,6 @@ +import { Observable } from 'rxjs'; +import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common'; +export declare class SerializeInterceptor implements NestInterceptor { + intercept(context: ExecutionContext, next: CallHandler): Observable; + private serializeObject; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.js new file mode 100644 index 000000000..cc04b7525 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.js @@ -0,0 +1,31 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SerializeInterceptor = void 0; +const utils_1 = require("../utils"); +const operators_1 = require("rxjs/operators"); +const common_1 = require("@nestjs/common"); +let SerializeInterceptor = class SerializeInterceptor { + intercept(context, next) { + return next.handle().pipe((0, operators_1.map)((value) => { + return !value + ? {} + : Array.isArray(value) + ? value.map((item) => this.serializeObject(item)) + : this.serializeObject(value); + })); + } + serializeObject(value) { + return Object.assign({}, (0, utils_1.serializeSequelize)(value)); + } +}; +SerializeInterceptor = __decorate([ + (0, common_1.Injectable)() +], SerializeInterceptor); +exports.SerializeInterceptor = SerializeInterceptor; +//# sourceMappingURL=serialize.interceptor.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.js.map new file mode 100644 index 000000000..452049abb --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interceptors/serialize.interceptor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serialize.interceptor.js","sourceRoot":"","sources":["../../../src/common/interceptors/serialize.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AACA,oCAA8C;AAI9C,8CAAqC;AACrC,2CAKwB;AAGjB,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,CAAC,KAAK,EAAE,EAAE;YACZ,OAAO,CAAC,KAAK;gBACX,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACtB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACjD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,KAAK;QAC3B,yBAAY,IAAA,0BAAkB,EAAC,KAAK,CAAC,EAAG;IAC1C,CAAC;CACF,CAAA;AAhBY,oBAAoB;IADhC,IAAA,mBAAU,GAAE;GACA,oBAAoB,CAgBhC;AAhBY,oDAAoB"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.d.ts new file mode 100644 index 000000000..58cc5dab4 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.d.ts @@ -0,0 +1,2 @@ +export * from './orm.interface'; +export * from './memory.interface'; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.js new file mode 100644 index 000000000..ff90127d7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./orm.interface"), exports); +__exportStar(require("./memory.interface"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.js.map new file mode 100644 index 000000000..2ebbf04e7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,qDAAmC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/memory.interface.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/memory.interface.js new file mode 100644 index 000000000..b345639fb --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/memory.interface.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=memory.interface.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/memory.interface.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/memory.interface.js.map new file mode 100644 index 000000000..63453dc5c --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/memory.interface.js.map @@ -0,0 +1 @@ +{"version":3,"file":"memory.interface.js","sourceRoot":"","sources":["../../../src/common/interfaces/memory.interface.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/orm.interface.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/orm.interface.js new file mode 100644 index 000000000..d3522a191 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/orm.interface.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=orm.interface.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/orm.interface.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/orm.interface.js.map new file mode 100644 index 000000000..9184cfadd --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/interfaces/orm.interface.js.map @@ -0,0 +1 @@ +{"version":3,"file":"orm.interface.js","sourceRoot":"","sources":["../../../src/common/interfaces/orm.interface.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.d.ts new file mode 100644 index 000000000..df5197a7d --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.d.ts @@ -0,0 +1,2 @@ +export * from "./orm.serializer"; +export * from "./memory.serializer"; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.js new file mode 100644 index 000000000..09c580ab2 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./orm.serializer"), exports); +__exportStar(require("./memory.serializer"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.js.map new file mode 100644 index 000000000..45c6fd173 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/serializers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,sDAAoC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.d.ts new file mode 100644 index 000000000..f60a82695 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.d.ts @@ -0,0 +1,3 @@ +import { KeyWhereOptionsMemory, WhereOptionsMemory } from "../interfaces"; +export declare function serializerKeyWhereOptionsMemory(object: object, objectWhere: KeyWhereOptionsMemory): boolean; +export declare function serializerWhereOptionsMemory(object: object, where: WhereOptionsMemory): boolean; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.js new file mode 100644 index 000000000..7e9ca4c2e --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializerWhereOptionsMemory = exports.serializerKeyWhereOptionsMemory = void 0; +const utils_1 = require("../utils"); +const utils_2 = require("../utils"); +function serializerKeyWhereOptionsMemory(object, objectWhere) { + return Object.keys(objectWhere) + .map(keyWhere => { + const compareWhere = objectWhere[keyWhere]; + if ((0, utils_2.isOperatorsOptionsMemory)(compareWhere)) { + return Object.keys(compareWhere) + .map((operators) => { + return utils_1.Op[operators](object, compareWhere[operators], keyWhere); + }) + .every(Boolean); + } + return utils_1.Op.equal(object, compareWhere, keyWhere); + }) + .every(Boolean); +} +exports.serializerKeyWhereOptionsMemory = serializerKeyWhereOptionsMemory; +function serializerWhereOptionsMemory(object, where) { + if ("and" in where) { + return utils_1.Op.and(object, where.and); + } + if ("or" in where) { + return utils_1.Op.or(object, where.or); + } + return serializerKeyWhereOptionsMemory(object, where); +} +exports.serializerWhereOptionsMemory = serializerWhereOptionsMemory; +//# sourceMappingURL=memory.serializer.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.js.map new file mode 100644 index 000000000..691d0d7c3 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/memory.serializer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"memory.serializer.js","sourceRoot":"","sources":["../../../src/common/serializers/memory.serializer.ts"],"names":[],"mappings":";;;AACA,oCAA8B;AAG9B,oCAAoD;AAKpD,SAAgB,+BAA+B,CAAI,MAAc,EAAE,WAAqC;IACtG,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;SAC5B,GAAG,CAAC,QAAQ,CAAC,EAAE;QACd,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,IAAA,gCAAwB,EAAC,YAAY,CAAC,EAAE;YAC1C,OAAQ,MAAM,CAAC,IAAI,CAAC,YAAY,CAA4C;iBACzE,GAAG,CAAC,CAAC,SAAS,EAAW,EAAE;gBAC1B,OAAO,UAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC,CAAC;iBACD,KAAK,CAAC,OAAO,CAAC,CAAC;SACnB;QAED,OAAO,UAAE,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC;SACD,KAAK,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC;AAfD,0EAeC;AAED,SAAgB,4BAA4B,CAAI,MAAc,EAAE,KAA4B;IAC1F,IAAI,KAAK,IAAI,KAAK,EAAE;QAClB,OAAO,UAAE,CAAC,GAAG,CAAI,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;KACrC;IAED,IAAI,IAAI,IAAI,KAAK,EAAE;QACjB,OAAO,UAAE,CAAC,EAAE,CAAI,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;KACnC;IAED,OAAO,+BAA+B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAVD,oEAUC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.d.ts new file mode 100644 index 000000000..8a4ccd6ae --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.d.ts @@ -0,0 +1,7 @@ +import { FindOptions, WhereOptions, GroupOptions, RelationOptions } from "../interfaces"; +import { Includeable, FindOptions as SequelizeFindOptions, GroupOption as SequelizeGroupOptions, WhereOptions as SequelizeWhereOptions } from "sequelize"; +import { Model } from "sequelize-typescript"; +export declare function serializerRelationOptions>(relations: RelationOptions): Includeable[]; +export declare function serializerGroupOptions(groupOptions: GroupOptions): SequelizeGroupOptions; +export declare function serializerWhereOptions(whereOptions: WhereOptions): SequelizeWhereOptions; +export declare function serializerFindOptions>({ order, where, group, attributes, ...findOptions }: FindOptions): SequelizeFindOptions; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.js new file mode 100644 index 000000000..4a3dde0ac --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.js @@ -0,0 +1,111 @@ +"use strict"; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializerFindOptions = exports.serializerWhereOptions = exports.serializerGroupOptions = exports.serializerRelationOptions = void 0; +const utils_1 = require("../utils"); +const constants_1 = require("../constants"); +const sequelize_1 = require("sequelize"); +function serializerFunctionOptions({ fn, column }) { + return (0, sequelize_1.fn)(fn, (0, sequelize_1.col)(column)); +} +function serializerFindArrayAttributesOptions(attributes) { + if (!Array.isArray(attributes)) { + return; + } + return attributes.map(attribute => { + if (typeof attribute === "string") { + return attribute; + } + else if ("fn" in attribute) { + return [serializerFunctionOptions(attribute), attribute.alias]; + } + return [attribute.name, attribute.alias]; + }); +} +function serializerFindAttributesOptions(attributes) { + if (typeof attributes !== "object" || attributes === null) { + return; + } + if (Array.isArray(attributes)) { + return serializerFindArrayAttributesOptions(attributes); + } + else if ("include" in attributes) { + return { include: serializerFindArrayAttributesOptions(attributes.include) }; + } + else if ("exclude" in attributes) { + return { exclude: attributes.exclude }; + } +} +function serializerOrderOptions(orderOptions) { + if (!Array.isArray(orderOptions)) { + return; + } + return orderOptions.map(({ by, order }) => [ + typeof by === "string" ? by : serializerFunctionOptions(by), + order + ]); +} +function serializerJoinOptions(joinOptions) { + switch (joinOptions) { + case "INNER": { + return { required: true }; + } + case "RIGHT": { + return { required: false, right: true }; + } + case "LEFT": + default: { + return { required: false, right: false }; + } + } +} +function serializerRelationOptions(relations) { + if (!relations) { + return []; + } + if (Array.isArray(relations)) { + return relations.map(serializerRelationObjectOptions); + } + return [serializerRelationObjectOptions(relations)]; +} +exports.serializerRelationOptions = serializerRelationOptions; +function serializerRelationObjectOptions(relationObject) { + if (!(0, utils_1.isObject)(relationObject)) { + return; + } + const { on, join, order, where, relations } = relationObject, relationshipsOptions = __rest(relationObject, ["on", "join", "order", "where", "relations"]); + return Object.assign(Object.assign(Object.assign({}, relationshipsOptions), serializerJoinOptions(join)), { on: serializerWhereOptions(on), order: serializerOrderOptions(order), where: serializerWhereOptions(where), include: serializerRelationOptions(relations) }); +} +function serializerGroupOptions(groupOptions) { + if (!Array.isArray(groupOptions)) { + return; + } + return groupOptions.map(groupOption => { + if (typeof groupOption === "string") { + return groupOption; + } + return serializerFunctionOptions(groupOption); + }); +} +exports.serializerGroupOptions = serializerGroupOptions; +function serializerWhereOptions(whereOptions) { + const keys = (key) => constants_1.operatorsORM[key] || key; + return (0, utils_1.transformObj)(whereOptions, { keys }); +} +exports.serializerWhereOptions = serializerWhereOptions; +function serializerFindOptions(_a) { + var { order, where, group, attributes } = _a, findOptions = __rest(_a, ["order", "where", "group", "attributes"]); + return Object.assign(Object.assign({}, findOptions), { group: serializerGroupOptions(group), order: serializerOrderOptions(order), where: serializerWhereOptions(where), attributes: serializerFindAttributesOptions(attributes) }); +} +exports.serializerFindOptions = serializerFindOptions; +//# sourceMappingURL=orm.serializer.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.js.map new file mode 100644 index 000000000..fb0f495b8 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/serializers/orm.serializer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"orm.serializer.js","sourceRoot":"","sources":["../../../src/common/serializers/orm.serializer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAgBA,oCAAkD;AAGlD,4CAA4C;AAG5C,yCAemB;AAGnB,SAAS,yBAAyB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAmB;IAChE,OAAO,IAAA,cAAW,EAAC,EAAE,EAAE,IAAA,eAAY,EAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,oCAAoC,CAC3C,UAAsC;IAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAE9B,OAAO;KACR;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,OAAO,SAAS,CAAC;SAClB;aAAM,IAAI,IAAI,IAAI,SAAS,EAAE;YAC5B,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;SAChE;QAED,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAI,UAAoC;IAC9E,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE;QAEzD,OAAO;KACR;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,oCAAoC,CAAC,UAAU,CAAC,CAAC;KACzD;SAAM,IAAI,SAAS,IAAI,UAAU,EAAE;QAClC,OAAO,EAAE,OAAO,EAAE,oCAAoC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;KAC9E;SAAM,IAAI,SAAS,IAAI,UAAU,EAAE;QAClC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAkB,EAAE,CAAC;KACnD;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA0B;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAEhC,OAAO;KACR;IAED,OAAO,YAAY,CAAC,GAAG,CAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACpD,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC3D,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAwB;IACrD,QAAQ,WAAW,EAAE;QACnB,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC3B;QACD,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACzC;QACD,KAAK,MAAM,CAAC;QACZ,OAAO,CAAC,CAAC;YACP,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAC1C;KACF;AACH,CAAC;AAED,SAAgB,yBAAyB,CAAqB,SAA6B;IACzF,IAAI,CAAC,SAAS,EAAE;QAEd,OAAO,EAAE,CAAC;KACX;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC5B,OAAO,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;KACvD;IAED,OAAO,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAXD,8DAWC;AAED,SAAS,+BAA+B,CACtC,cAAwC;IAExC,IAAI,CAAC,IAAA,gBAAQ,EAAC,cAAc,CAAC,EAAE;QAE7B,OAAO;KACR;IAED,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,KAA8B,cAAc,EAAvC,oBAAoB,UAAK,cAAc,EAA/E,6CAA8D,CAAiB,CAAC;IACtF,qDACK,oBAAoB,GACpB,qBAAqB,CAAC,IAAI,CAAC,KAC9B,EAAE,EAAE,sBAAsB,CAAI,EAAE,CAAC,EACjC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,sBAAsB,CAAI,KAAK,CAAC,EACvC,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,IAC7C;AACJ,CAAC;AAED,SAAgB,sBAAsB,CAAC,YAA0B;IAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAEhC,OAAO;KACR;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACpC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,OAAO,WAAW,CAAC;SACpB;QAED,OAAO,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,wDAaC;AAED,SAAgB,sBAAsB,CAAI,YAA6B;IACrE,MAAM,IAAI,GAAG,CAAC,GAAW,EAAmB,EAAE,CAAC,wBAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAExE,OAAO,IAAA,oBAAY,EAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAJD,wDAIC;AAED,SAAgB,qBAAqB,CAAqB,EAMzC;QANyC,EACxD,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,OAEK,EADZ,WAAW,cAL0C,yCAMzD,CADe;IAEd,uCACK,WAAW,KACd,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,sBAAsB,CAAI,KAAK,CAAC,EACvC,UAAU,EAAE,+BAA+B,CAAI,UAAU,CAAC,IAC1D;AACJ,CAAC;AAdD,sDAcC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.d.ts new file mode 100644 index 000000000..61d43e8e7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.d.ts @@ -0,0 +1,6 @@ +import { OperatorsOptionsMemory } from "../interfaces"; +export declare const isNumber: (value: unknown) => value is number; +export declare const isString: (value: unknown) => value is string; +export declare const isDate: (value: unknown) => value is Date; +export declare const isObject: (value: unknown) => value is object; +export declare function isOperatorsOptionsMemory(obj: unknown): obj is OperatorsOptionsMemory; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.js new file mode 100644 index 000000000..bda4569af --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isOperatorsOptionsMemory = exports.isObject = exports.isDate = exports.isString = exports.isNumber = void 0; +const isNumber = (value) => typeof value === "number" || value instanceof Number; +exports.isNumber = isNumber; +const isString = (value) => typeof value === "string" || value instanceof String; +exports.isString = isString; +const isDate = (value) => value instanceof Date; +exports.isDate = isDate; +const isObject = (value) => value === null ? false : typeof value === "function" || typeof value === "object"; +exports.isObject = isObject; +function isOperatorsOptionsMemory(obj) { + return typeof obj === "object" && !(obj instanceof Date); +} +exports.isOperatorsOptionsMemory = isOperatorsOptionsMemory; +//# sourceMappingURL=check-type.utils.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.js.map new file mode 100644 index 000000000..db2b30db7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/check-type.utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"check-type.utils.js","sourceRoot":"","sources":["../../../src/common/utils/check-type.utils.ts"],"names":[],"mappings":";;;AAGO,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;AAD1C,QAAA,QAAQ,YACkC;AAEhD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;AAD1C,QAAA,QAAQ,YACkC;AAEhD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CAAC,KAAK,YAAY,IAAI,CAAC;AAAlE,QAAA,MAAM,UAA4D;AAExE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC1D,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AADvE,QAAA,QAAQ,YAC+D;AAEpF,SAAgB,wBAAwB,CAAI,GAAY;IACtD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC;AAC3D,CAAC;AAFD,4DAEC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.d.ts new file mode 100644 index 000000000..4196ea579 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.d.ts @@ -0,0 +1,4 @@ +export * from './check-type.utils'; +export * from './transform-obj.utils'; +export * from './operators-memory.utils'; +export * from './serialize-sequelize.utils'; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.js new file mode 100644 index 000000000..e500f25d9 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.js @@ -0,0 +1,21 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./check-type.utils"), exports); +__exportStar(require("./transform-obj.utils"), exports); +__exportStar(require("./operators-memory.utils"), exports); +__exportStar(require("./serialize-sequelize.utils"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.js.map new file mode 100644 index 000000000..d22606e3e --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,wDAAsC;AACtC,2DAAyC;AACzC,8DAA4C"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.d.ts new file mode 100644 index 000000000..6034dd4b3 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.d.ts @@ -0,0 +1 @@ +export declare const isObject: (property: any) => boolean; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.js new file mode 100644 index 000000000..49ae99970 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isObject = void 0; +const isObject = property => { + return property !== null && typeof property === "object"; +}; +exports.isObject = isObject; +//# sourceMappingURL=objectUtils.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.js.map new file mode 100644 index 000000000..34c4c3fa7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/objectUtils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"objectUtils.js","sourceRoot":"","sources":["../../../src/common/utils/objectUtils.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE;IACjC,OAAO,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.d.ts new file mode 100644 index 000000000..a15c68a24 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.d.ts @@ -0,0 +1,16 @@ +import { OperatorsANDORMemory } from "../interfaces"; +export declare const Op: { + or: typeof or; + and: typeof and; + gt: (object: object, compare: primitiveTypes, key: string) => boolean; + lt: (object: object, compare: primitiveTypes, key: string) => boolean; + like: (object: object, like: primitiveTypes, key: string) => any; + lte: (object: object, compare: primitiveTypes, key: string) => boolean; + gte: (object: object, compare: primitiveTypes, key: string) => boolean; + equal: (object: object, compare: primitiveTypes, key: string) => boolean; + notEqual: (object: object, compare: primitiveTypes, key: string) => boolean; + in: (object: object, compare: Array, key: string) => boolean; +}; +declare function and(object: object, compare: OperatorsANDORMemory["and"]): boolean; +declare function or(object: object, compare: OperatorsANDORMemory["or"], key?: string): boolean; +export {}; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.js new file mode 100644 index 000000000..0565469c1 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Op = void 0; +const _1 = require("."); +const serializers_1 = require("../serializers"); +exports.Op = { + or: or, + and: and, + gt: (object, compare, key) => object[key] > compare, + lt: (object, compare, key) => object[key] < compare, + like: (object, like, key) => object[key].match(like), + lte: (object, compare, key) => object[key] <= compare, + gte: (object, compare, key) => object[key] >= compare, + equal: (object, compare, key) => object[key] === compare, + notEqual: (object, compare, key) => object[key] !== compare, + in: (object, compare, key) => compare.includes(object[key]) +}; +function and(object, compare) { + return compare.map(objectWhere => (0, serializers_1.serializerKeyWhereOptionsMemory)(object, objectWhere)).every(Boolean); +} +function or(object, compare, key) { + if (Array.isArray(compare)) { + return compare + .map(objectWhere => { + if ((0, _1.isObject)(objectWhere) && !(0, _1.isDate)(objectWhere)) { + return (0, serializers_1.serializerWhereOptionsMemory)(object, objectWhere); + } + return exports.Op.equal(object, objectWhere, key); + }) + .some(Boolean); + } +} +//# sourceMappingURL=operators-memory.utils.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.js.map new file mode 100644 index 000000000..f20945b9f --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/operators-memory.utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"operators-memory.utils.js","sourceRoot":"","sources":["../../../src/common/utils/operators-memory.utils.ts"],"names":[],"mappings":";;;AACA,wBAAqC;AAMrC,gDAA+F;AAElF,QAAA,EAAE,GAAG;IAChB,EAAE,EAAE,EAAE;IACN,GAAG,EAAE,GAAG;IACR,EAAE,EAAE,CAAC,MAAc,EAAE,OAAuB,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO;IACnF,EAAE,EAAE,CAAC,MAAc,EAAE,OAAuB,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO;IACnF,IAAI,EAAE,CAAC,MAAc,EAAE,IAAoB,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACpF,GAAG,EAAE,CAAC,MAAc,EAAE,OAAuB,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO;IACrF,GAAG,EAAE,CAAC,MAAc,EAAE,OAAuB,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO;IACrF,KAAK,EAAE,CAAC,MAAc,EAAE,OAAuB,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO;IACxF,QAAQ,EAAE,CAAC,MAAc,EAAE,OAAuB,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO;IAC3F,EAAE,EAAE,CAAC,MAAc,EAAE,OAA8B,EAAE,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;CACnG,CAAC;AAEF,SAAS,GAAG,CAAI,MAAc,EAAE,OAAuC;IACrE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAA,6CAA+B,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,EAAE,CAAI,MAAc,EAAE,OAAsC,EAAE,GAAY;IACjF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,OAAO;aACX,GAAG,CAAC,WAAW,CAAC,EAAE;YACjB,IAAI,IAAA,WAAQ,EAAC,WAAW,CAAC,IAAI,CAAC,IAAA,SAAM,EAAC,WAAW,CAAC,EAAE;gBACjD,OAAO,IAAA,0CAA4B,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;aAC1D;YAED,OAAO,UAAE,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC;aACD,IAAI,CAAC,OAAO,CAAC,CAAC;KAClB;AACH,CAAC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.d.ts new file mode 100644 index 000000000..07af7889a --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.d.ts @@ -0,0 +1,2 @@ +import { Model } from "sequelize"; +export declare function serializeSequelize(value: Model | object): any; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.js new file mode 100644 index 000000000..5dbcee45f --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeSequelize = void 0; +const sequelize_1 = require("sequelize"); +function serializeSequelize(value) { + if (value instanceof sequelize_1.Model) { + return value.toJSON(); + } + return value; +} +exports.serializeSequelize = serializeSequelize; +//# sourceMappingURL=serialize-sequelize.utils.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.js.map new file mode 100644 index 000000000..b5d2d1dc7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/serialize-sequelize.utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serialize-sequelize.utils.js","sourceRoot":"","sources":["../../../src/common/utils/serialize-sequelize.utils.ts"],"names":[],"mappings":";;;AACA,yCAAkC;AAElC,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,IAAI,KAAK,YAAY,iBAAK,EAAE;QAC1B,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;KACvB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAND,gDAMC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.d.ts new file mode 100644 index 000000000..89e26d859 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.d.ts @@ -0,0 +1,7 @@ +type values = (values: string) => string; +type keys = (key: string) => string | symbol; +export declare function transformObj(obj: T, transforms: { + values?: values; + keys?: keys; +}): U; +export {}; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.js new file mode 100644 index 000000000..865f19c8d --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transformObj = void 0; +function transformObj(obj, transforms) { + if (typeof obj !== "object" || obj === null) { + return; + } + function convertValue(value) { + if (Array.isArray(value)) { + return value.map(convertValue); + } + else if (typeof value === "object") { + return transformObj(value, transforms); + } + else if ("values" in transforms) { + return transforms.values(value); + } + else { + return value; + } + } + return Object.keys(obj).reduce((result, key) => { + const value = obj[key]; + let newKey = key; + if ("keys" in transforms) { + newKey = transforms.keys(key); + } + result[newKey] = convertValue(value); + return result; + }, {}); +} +exports.transformObj = transformObj; +//# sourceMappingURL=transform-obj.utils.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.js.map new file mode 100644 index 000000000..0ef35c082 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/common/utils/transform-obj.utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transform-obj.utils.js","sourceRoot":"","sources":["../../../src/common/utils/transform-obj.utils.ts"],"names":[],"mappings":";;;AA8BA,SAAgB,YAAY,CAC1B,GAAM,EACN,UAA4C;IAE5C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;QAE3C,OAAO;KACR;IAED,SAAS,YAAY,CAAC,KAAK;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAChC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SACxC;aAAM,IAAI,QAAQ,IAAI,UAAU,EAAE;YAEjC,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACjC;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,MAAM,GAAoB,GAAG,CAAC;QAElC,IAAI,MAAM,IAAI,UAAU,EAAE;YAExB,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/B;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAO,CAAC,CAAC;AACd,CAAC;AAnCD,oCAmCC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.js new file mode 100644 index 000000000..456801d95 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const core_1 = require("@nestjs/core"); +const app_module_1 = require("./app.module"); +async function bootstrap() { + const app = await core_1.NestFactory.create(app_module_1.AppModule, { cors: true }); + await app.listen(3000); +} +bootstrap(); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.js.map new file mode 100644 index 000000000..d246df5ef --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,6CAAyC;AAEzC,KAAK,UAAU,SAAS;IACtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,EAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AACD,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.d.ts new file mode 100644 index 000000000..d5bcb1fc8 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.d.ts @@ -0,0 +1,9 @@ +import { Class } from './entities/class.entity'; +import { Student } from '../students/entities/student.entity'; +export declare const classProviders: ({ + provide: string; + useValue: typeof Class; +} | { + provide: string; + useValue: typeof Student; +})[]; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.js new file mode 100644 index 000000000..ed840ad40 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.classProviders = void 0; +const class_entity_1 = require("./entities/class.entity"); +const constants_1 = require("../../common/constants"); +const student_entity_1 = require("../students/entities/student.entity"); +exports.classProviders = [ + { + provide: constants_1.CLASS, + useValue: class_entity_1.Class, + }, + { + provide: constants_1.STUDENT, + useValue: student_entity_1.Student, + }, +]; +//# sourceMappingURL=class.providers.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.js.map new file mode 100644 index 000000000..fbe3cd948 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/class.providers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"class.providers.js","sourceRoot":"","sources":["../../../src/models/classes/class.providers.ts"],"names":[],"mappings":";;;AACA,0DAAgD;AAGhD,sDAAwD;AACxD,wEAA8D;AAEjD,QAAA,cAAc,GAAG;IAC5B;QACE,OAAO,EAAE,iBAAK;QACd,QAAQ,EAAE,oBAAK;KAChB;IACD;QACE,OAAO,EAAE,mBAAO;QAChB,QAAQ,EAAE,wBAAO;KAClB;CACF,CAAC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.d.ts new file mode 100644 index 000000000..bd89405d0 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.d.ts @@ -0,0 +1,9 @@ +import { ClassesService } from './classes.service'; +export declare class ClassesController { + private readonly classesService; + constructor(classesService: ClassesService); + findAll(): Promise; + availableClasses(): Promise; + findOne(id: string): Promise; + removeOne(id: string): Promise; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.js new file mode 100644 index 000000000..8ef4c344e --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.js @@ -0,0 +1,66 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ClassesController = void 0; +const common_1 = require("@nestjs/common"); +const classes_service_1 = require("./classes.service"); +let ClassesController = class ClassesController { + constructor(classesService) { + this.classesService = classesService; + } + findAll() { + return this.classesService.findAll(); + } + availableClasses() { + return this.classesService.availableClasses(); + } + findOne(id) { + return this.classesService.findOne(+id); + } + removeOne(id) { + return this.classesService.removeOne(+id); + } +}; +__decorate([ + (0, common_1.Get)('/all'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], ClassesController.prototype, "findAll", null); +__decorate([ + (0, common_1.Get)('available'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], ClassesController.prototype, "availableClasses", null); +__decorate([ + (0, common_1.Get)(':id'), + __param(0, (0, common_1.Param)('id')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", void 0) +], ClassesController.prototype, "findOne", null); +__decorate([ + (0, common_1.Delete)(':id'), + __param(0, (0, common_1.Param)('id')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", void 0) +], ClassesController.prototype, "removeOne", null); +ClassesController = __decorate([ + (0, common_1.Controller)('classes'), + __metadata("design:paramtypes", [classes_service_1.ClassesService]) +], ClassesController); +exports.ClassesController = ClassesController; +//# sourceMappingURL=classes.controller.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.js.map new file mode 100644 index 000000000..0d57b4cb8 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"classes.controller.js","sourceRoot":"","sources":["../../../src/models/classes/classes.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsE;AACtE,uDAAmD;AAI5C,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAI/D,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAGD,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAA;IAC/C,CAAC;IAGD,OAAO,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAGF,SAAS,CAAc,EAAS;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1C,CAAC;CACD,CAAA;AAnBC;IAAC,IAAA,YAAG,EAAC,MAAM,CAAC;;;;gDAGX;AAED;IAAC,IAAA,YAAG,EAAC,WAAW,CAAC;;;;yDAGhB;AAED;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACF,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;gDAEnB;AAEF;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACH,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;kDAErB;AAtBW,iBAAiB;IAD7B,IAAA,mBAAU,EAAC,SAAS,CAAC;qCAEyB,gCAAc;GADhD,iBAAiB,CAuB7B;AAvBY,8CAAiB"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.d.ts new file mode 100644 index 000000000..d70320651 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.d.ts @@ -0,0 +1,2 @@ +export declare class ClassesModule { +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.js new file mode 100644 index 000000000..7a292de0e --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.js @@ -0,0 +1,28 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ClassesModule = void 0; +const common_1 = require("@nestjs/common"); +const classes_service_1 = require("./classes.service"); +const classes_controller_1 = require("./classes.controller"); +const classes_repository_1 = require("./classes.repository"); +const class_providers_1 = require("./class.providers"); +let ClassesModule = class ClassesModule { +}; +ClassesModule = __decorate([ + (0, common_1.Module)({ + controllers: [classes_controller_1.ClassesController], + providers: [ + classes_service_1.ClassesService, + classes_repository_1.ClassRepository, + ...class_providers_1.classProviders, + ], + }) +], ClassesModule); +exports.ClassesModule = ClassesModule; +//# sourceMappingURL=classes.module.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.js.map new file mode 100644 index 000000000..b2aa87a7a --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"classes.module.js","sourceRoot":"","sources":["../../../src/models/classes/classes.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,6DAAyD;AACzD,6DAAuD;AACvD,uDAAmD;AAa5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,aAAa;IARzB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,sCAAiB,CAAC;QAChC,SAAS,EAAE;YACT,gCAAc;YACd,oCAAe;YACf,GAAG,gCAAc;SAClB;KACF,CAAC;GACW,aAAa,CAAG;AAAhB,sCAAa"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.d.ts new file mode 100644 index 000000000..4f65f07f6 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.d.ts @@ -0,0 +1,12 @@ +import { Class } from './entities/class.entity'; +import { ModelStatic } from 'sequelize'; +export declare class ClassRepository { + classModel: ModelStatic; + constructor(classModel: ModelStatic); + findAll(): Promise; + findOne(classId: number): Promise; + incrementSeats(classId: number): void; + decrementSeats(classId: number): void; + availableClasses(): Promise; + removeOne(classId: number): Promise; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.js new file mode 100644 index 000000000..a42d29a51 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.js @@ -0,0 +1,70 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ClassRepository = void 0; +const class_entity_1 = require("./entities/class.entity"); +const common_1 = require("@nestjs/common"); +const sequelize_1 = require("sequelize"); +const student_entity_1 = require("../students/entities/student.entity"); +const constants_1 = require("../../common/constants"); +let ClassRepository = class ClassRepository { + constructor(classModel) { + this.classModel = classModel; + } + async findAll() { + return this.classModel.findAll({ + include: [ + { + model: student_entity_1.Student, + }, + ], + }); + } + async findOne(classId) { + return this.classModel.findByPk(classId); + } + incrementSeats(classId) { + class_entity_1.Class.increment('availableSeats', { + by: 1, + where: { classId } + }); + } + decrementSeats(classId) { + class_entity_1.Class.decrement('availableSeats', { + by: 1, + where: { classId } + }); + } + availableClasses() { + return this.classModel.findAll({ + where: { + availableSeats: { [sequelize_1.Op.gt]: 0 }, + }, + }); + } + removeOne(classId) { + return this.classModel.destroy({ + where: { + classId, + }, + }); + } +}; +ClassRepository = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, common_1.Inject)(constants_1.CLASS)), + __metadata("design:paramtypes", [Object]) +], ClassRepository); +exports.ClassRepository = ClassRepository; +//# sourceMappingURL=classes.repository.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.js.map new file mode 100644 index 000000000..050f04559 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.repository.js.map @@ -0,0 +1 @@ +{"version":3,"file":"classes.repository.js","sourceRoot":"","sources":["../../../src/models/classes/classes.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0DAAgD;AAGhD,2CAIwB;AAExB,yCAA4C;AAC5C,wEAA8D;AAC9D,sDAA6C;AAGtC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAAkC,UAA8B;QAA9B,eAAU,GAAV,UAAU,CAAoB;IAAG,CAAC;IAEpE,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7B,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,wBAAO;iBACf;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,oBAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAChC,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,EAAC,OAAO,EAAC;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,oBAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAChC,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,EAAC,OAAO,EAAC;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE;gBACL,cAAc,EAAE,EAAE,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aAC/B;SACF,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE;gBACL,OAAO;aACR;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA9CY,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,iBAAK,CAAC,CAAA;;GADf,eAAe,CA8C3B;AA9CY,0CAAe"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.d.ts new file mode 100644 index 000000000..128b86cd2 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.d.ts @@ -0,0 +1,12 @@ +import { ClassRepository } from './classes.repository'; +import { Class } from './entities/class.entity'; +export declare class ClassesService { + private readonly classRepository; + constructor(classRepository: ClassRepository); + findAll(): Promise; + incrementSeats(classId: number): void; + decrementSeats(classId: number): void; + findOne(classId: number): Promise; + availableClasses(): Promise; + removeOne(classId: number): Promise; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.js new file mode 100644 index 000000000..bee3d8c80 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.js @@ -0,0 +1,49 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ClassesService = void 0; +const common_1 = require("@nestjs/common"); +const classes_repository_1 = require("./classes.repository"); +let ClassesService = class ClassesService { + constructor(classRepository) { + this.classRepository = classRepository; + } + async findAll() { + const classes = await this.classRepository.findAll(); + if (!classes.length) + throw new common_1.NotFoundException('Classes not found'); + return classes; + } + incrementSeats(classId) { + this.classRepository.incrementSeats(classId); + } + decrementSeats(classId) { + this.classRepository.incrementSeats(classId); + } + findOne(classId) { + return this.classRepository.findOne(classId); + } + availableClasses() { + return this.classRepository.availableClasses(); + } + async removeOne(classId) { + const currClass = await this.findOne(classId); + if (currClass.availableSeats > 0) + throw new Error('Class has assigned students'); + return this.classRepository.removeOne(classId); + } +}; +ClassesService = __decorate([ + (0, common_1.Injectable)(), + __metadata("design:paramtypes", [classes_repository_1.ClassRepository]) +], ClassesService); +exports.ClassesService = ClassesService; +//# sourceMappingURL=classes.service.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.js.map new file mode 100644 index 000000000..078a33fa2 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/classes.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"classes.service.js","sourceRoot":"","sources":["../../../src/models/classes/classes.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AAGxB,6DAAuD;AAKhD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEjE,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAY,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAM,IAAI,0BAAiB,CAAC,mBAAmB,CAAC,CAAC;QACtE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AA9BY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEmC,oCAAe;GADlD,cAAc,CA8B1B;AA9BY,wCAAc"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.d.ts new file mode 100644 index 000000000..09ea19d50 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.d.ts @@ -0,0 +1,10 @@ +import { Model } from 'sequelize-typescript'; +import { Student } from 'src/models/students/entities/student.entity'; +import { IClass } from '../interfaces/classes.interface'; +export declare class Class extends Model implements IClass { + classId: number; + className: string; + classSeats: number; + availableSeats: number; + students: Student[]; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.js new file mode 100644 index 000000000..51a01eecf --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.js @@ -0,0 +1,42 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Class = void 0; +const sequelize_typescript_1 = require("sequelize-typescript"); +const student_entity_1 = require("../../students/entities/student.entity"); +let Class = class Class extends sequelize_typescript_1.Model { +}; +__decorate([ + sequelize_typescript_1.PrimaryKey, + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.INTEGER }), + __metadata("design:type", Number) +], Class.prototype, "classId", void 0); +__decorate([ + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.TEXT }), + __metadata("design:type", String) +], Class.prototype, "className", void 0); +__decorate([ + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.INTEGER }), + __metadata("design:type", Number) +], Class.prototype, "classSeats", void 0); +__decorate([ + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.INTEGER }), + __metadata("design:type", Number) +], Class.prototype, "availableSeats", void 0); +__decorate([ + (0, sequelize_typescript_1.HasMany)(() => student_entity_1.Student), + __metadata("design:type", Array) +], Class.prototype, "students", void 0); +Class = __decorate([ + (0, sequelize_typescript_1.Table)({ tableName: 'Classes', updatedAt: false, createdAt: false }) +], Class); +exports.Class = Class; +//# sourceMappingURL=class.entity.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.js.map new file mode 100644 index 000000000..72bc21281 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/entities/class.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"class.entity.js","sourceRoot":"","sources":["../../../../src/models/classes/entities/class.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAOgC;AAChC,2EAAsE;AAK7D,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,4BAAY;CAgBtC,CAAA;AAfC;IAAC,iCAAU;IACV,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,CAAC;;sCACZ;AAEvB;IAAC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,IAAI,EAAE,CAAC;;wCACP;AAEzB;IAAC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,CAAC;;yCACT;AAE1B;IAAC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,CAAC;;6CACL;AAE9B;IAAC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;;uCACI;AAfhB,KAAK;IADjB,IAAA,4BAAK,EAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;GACvD,KAAK,CAgBjB;AAhBY,sBAAK"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.d.ts new file mode 100644 index 000000000..3b10c79e1 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.d.ts @@ -0,0 +1,6 @@ +export interface IClass { + classId: number; + className: string; + classSeats: number; + availableSeats: number; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.js new file mode 100644 index 000000000..909619c35 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=classes.interface.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.js.map new file mode 100644 index 000000000..c160b518a --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/classes/interfaces/classes.interface.js.map @@ -0,0 +1 @@ +{"version":3,"file":"classes.interface.js","sourceRoot":"","sources":["../../../../src/models/classes/interfaces/classes.interface.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/orm/model.repository-orm.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/orm/model.repository-orm.js new file mode 100644 index 000000000..0ef5c7b19 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/orm/model.repository-orm.js @@ -0,0 +1,42 @@ +"use strict"; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BaseRepositoryORM = void 0; +const serializers_1 = require("../../common/serializers"); +class BaseRepositoryORM { + constructor(module) { + this.module = module; + } + async all(where, relation) { + return await this.module.findAll({ + where: where && (0, serializers_1.serializerWhereOptions)(where), + include: relation && (0, serializers_1.serializerRelationOptions)(relation), + }); + } + async findBy(where, options = {}, relation) { + return await this.module.findAll(Object.assign(Object.assign({}, (0, serializers_1.serializerFindOptions)(options)), { where: (0, serializers_1.serializerWhereOptions)(where), include: relation && (0, serializers_1.serializerRelationOptions)(relation) })); + } + async findByPk(id, options = {}, relation) { + return await this.module.findByPk(id, Object.assign(Object.assign({}, (0, serializers_1.serializerFindOptions)(options)), { include: relation && (0, serializers_1.serializerRelationOptions)(relation) })); + } + async create(attributes, options = {}) { + return await this.module.create(attributes, options); + } + async update(id, attributes, _a = { where: {} }) { + var { where } = _a, options = __rest(_a, ["where"]); + const [, modules] = await this.module.update(attributes, Object.assign(Object.assign({}, options), { returning: true, where: Object.assign({ id }, where) })); + return modules; + } +} +exports.BaseRepositoryORM = BaseRepositoryORM; +//# sourceMappingURL=model.repository-orm.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/orm/model.repository-orm.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/orm/model.repository-orm.js.map new file mode 100644 index 000000000..7682f31e5 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/orm/model.repository-orm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"model.repository-orm.js","sourceRoot":"","sources":["../../../src/models/orm/model.repository-orm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,0DAIkC;AA0BlC,MAAsB,iBAAiB;IACrC,YAAsB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAEvC,KAAK,CAAC,GAAG,CAId,KAAuB,EACvB,QAA6B;QAE7B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI;YAClC,KAAK,EAAE,KAAK,IAAI,IAAA,oCAAsB,EAAI,KAAK,CAAC;YAChD,OAAO,EAAE,QAAQ,IAAI,IAAA,uCAAyB,EAAI,QAAQ,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAIjB,KAAsB,EACtB,UAA0B,EAAE,EAC5B,QAA6B;QAE7B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,iCAC3B,IAAA,mCAAqB,EAAC,OAAO,CAAC,KACjC,KAAK,EAAE,IAAA,oCAAsB,EAAI,KAAK,CAAC,EACvC,OAAO,EAAE,QAAQ,IAAI,IAAA,uCAAyB,EAAI,QAAQ,CAAC,IAC3D,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,QAAQ,CAInB,EAAmB,EACnB,UAA0B,EAAE,EAC5B,QAA6B;QAE7B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,EAAE,kCAClC,IAAA,mCAAqB,EAAC,OAAO,CAAC,KACjC,OAAO,EAAE,QAAQ,IAAI,IAAA,uCAAyB,EAAI,QAAQ,CAAC,IAC3D,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,UAAe,EACf,UAAyB,EAAE;QAE3B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAI,UAAiB,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,EAAO,EACP,UAAsB,EACtB,KAA0C,EAAE,KAAK,EAAE,EAAE,EAAE;YAAvD,EAAE,KAAK,OAAgD,EAA3C,OAAO,cAAnB,SAAqB,CAAF;QAEnB,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAI,UAAU,kCACrD,OAAO,KACV,SAAS,EAAE,IAAI,EACf,KAAK,kBAAI,EAAE,IAAK,KAAK,KACrB,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;CAEF;AAjED,8CAiEC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.d.ts new file mode 100644 index 000000000..02616c273 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.d.ts @@ -0,0 +1,12 @@ +import { Model } from 'sequelize-typescript'; +import { Class } from 'src/models/classes/entities/class.entity'; +import { IStudent } from '../interfaces/student.interface'; +export declare class Student extends Model implements IStudent { + tz: number; + firstName: string; + lastName: string; + profession: string; + age: number; + classId: number; + Classes: Class[]; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.js new file mode 100644 index 000000000..c7bb78eb4 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.js @@ -0,0 +1,51 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Student = void 0; +const sequelize_typescript_1 = require("sequelize-typescript"); +const class_entity_1 = require("../../classes/entities/class.entity"); +let Student = class Student extends sequelize_typescript_1.Model { +}; +__decorate([ + sequelize_typescript_1.PrimaryKey, + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.INTEGER }), + __metadata("design:type", Number) +], Student.prototype, "tz", void 0); +__decorate([ + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.TEXT }), + __metadata("design:type", String) +], Student.prototype, "firstName", void 0); +__decorate([ + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.TEXT }), + __metadata("design:type", String) +], Student.prototype, "lastName", void 0); +__decorate([ + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.TEXT }), + __metadata("design:type", String) +], Student.prototype, "profession", void 0); +__decorate([ + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.INTEGER }), + __metadata("design:type", Number) +], Student.prototype, "age", void 0); +__decorate([ + (0, sequelize_typescript_1.ForeignKey)(() => class_entity_1.Class), + (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.INTEGER }), + __metadata("design:type", Number) +], Student.prototype, "classId", void 0); +__decorate([ + (0, sequelize_typescript_1.BelongsTo)(() => class_entity_1.Class), + __metadata("design:type", Array) +], Student.prototype, "Classes", void 0); +Student = __decorate([ + (0, sequelize_typescript_1.Table)({ tableName: 'Students', updatedAt: false, createdAt: false }) +], Student); +exports.Student = Student; +//# sourceMappingURL=student.entity.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.js.map new file mode 100644 index 000000000..471c4b162 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/entities/student.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"student.entity.js","sourceRoot":"","sources":["../../../../src/models/students/entities/student.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAQ8B;AAC9B,sEAAiE;AAI1D,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,4BAAc;CAuB1C,CAAA;AAtBC;IAAC,iCAAU;IACV,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,CAAC;;mCACjB;AAElB;IAAC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,IAAI,EAAE,CAAC;;0CACP;AAEzB;IAAC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,IAAI,EAAE,CAAC;;yCACR;AAExB;IAAC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,IAAI,EAAE,CAAC;;2CACN;AAE1B;IAAC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,CAAC;;oCAChB;AAEnB;IAAC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,oBAAK,CAAC;IACvB,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,CAAC;;wCACZ;AAEvB;IAAC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,CAAC;;wCACN;AAtBN,OAAO;IADnB,IAAA,4BAAK,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;GACxD,OAAO,CAuBnB;AAvBY,0BAAO"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.d.ts new file mode 100644 index 000000000..2f0f55e7a --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.d.ts @@ -0,0 +1,8 @@ +export interface IStudent { + tz: number; + firstName: string; + lastName: string; + age: number; + profession: string; + classId: number; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.js new file mode 100644 index 000000000..0d29abe09 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=student.interface.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.js.map new file mode 100644 index 000000000..af9c4e5a7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/interfaces/student.interface.js.map @@ -0,0 +1 @@ +{"version":3,"file":"student.interface.js","sourceRoot":"","sources":["../../../../src/models/students/interfaces/student.interface.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.d.ts new file mode 100644 index 000000000..7ea4e737d --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.d.ts @@ -0,0 +1,9 @@ +import { StudentsService } from './students.service'; +export declare class StudentsController { + private readonly studentsService; + constructor(studentsService: StudentsService); + findAll(): Promise; + unAssignStudent(id: string, classId: string): Promise<[affectedCount: number]>; + assignStudent(id: string, classId: string): Promise<[affectedCount: number]>; + removeOne(id: string): Promise; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.js new file mode 100644 index 000000000..1ea5c570f --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.js @@ -0,0 +1,69 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StudentsController = void 0; +const common_1 = require("@nestjs/common"); +const students_service_1 = require("./students.service"); +let StudentsController = class StudentsController { + constructor(studentsService) { + this.studentsService = studentsService; + } + findAll() { + return this.studentsService.findAll(); + } + unAssignStudent(id, classId) { + return this.studentsService.unAssignStudent(+id, +classId); + } + assignStudent(id, classId) { + return this.studentsService.assignStudent(+id, +classId); + } + removeOne(id) { + return this.studentsService.removeOne(+id); + } +}; +__decorate([ + (0, common_1.Get)('/all'), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], StudentsController.prototype, "findAll", null); +__decorate([ + (0, common_1.Post)('/tz/:id/classId/:classId'), + __param(0, (0, common_1.Param)('id')), + __param(1, (0, common_1.Param)('classId')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String, String]), + __metadata("design:returntype", void 0) +], StudentsController.prototype, "unAssignStudent", null); +__decorate([ + (0, common_1.Post)('/tz/:id/classId/:classId'), + __param(0, (0, common_1.Param)('id')), + __param(1, (0, common_1.Param)('classId')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String, String]), + __metadata("design:returntype", void 0) +], StudentsController.prototype, "assignStudent", null); +__decorate([ + (0, common_1.Delete)(':id'), + __param(0, (0, common_1.Param)('id')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", void 0) +], StudentsController.prototype, "removeOne", null); +StudentsController = __decorate([ + (0, common_1.Controller)('students'), + __metadata("design:paramtypes", [students_service_1.StudentsService]) +], StudentsController); +exports.StudentsController = StudentsController; +//# sourceMappingURL=students.controller.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.js.map new file mode 100644 index 000000000..281107dd7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"students.controller.js","sourceRoot":"","sources":["../../../src/models/students/students.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsE;AACtE,yDAAqD;AAG9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAGjE,OAAO;QACL,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAGD,eAAe,CAAc,EAAU,EAAoB,OAAe;QACxE,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAE;IAC9D,CAAC;IAGD,aAAa,CAAc,EAAS,EAAoB,OAAe;QACrE,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;IAC1D,CAAC;IAGF,SAAS,CAAc,EAAS;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC;CACD,CAAA;AAnBC;IAAC,IAAA,YAAG,EAAC,MAAM,CAAC;;;;iDAGX;AAED;IAAC,IAAA,aAAI,EAAC,0BAA0B,CAAC;IAChB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,cAAK,EAAC,SAAS,CAAC,CAAA;;;;yDAEzD;AAED;IAAC,IAAA,aAAI,EAAC,0BAA0B,CAAC;IAClB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAa,WAAA,IAAA,cAAK,EAAC,SAAS,CAAC,CAAA;;;;uDAEtD;AAED;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACJ,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;mDAErB;AArBW,kBAAkB;IAD9B,IAAA,mBAAU,EAAC,UAAU,CAAC;qCAEyB,kCAAe;GADlD,kBAAkB,CAsB9B;AAtBY,gDAAkB"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.d.ts new file mode 100644 index 000000000..baf166e6a --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.d.ts @@ -0,0 +1,2 @@ +export declare class StudentsModule { +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.js new file mode 100644 index 000000000..df575f4c5 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.js @@ -0,0 +1,30 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StudentsModule = void 0; +const common_1 = require("@nestjs/common"); +const students_service_1 = require("./students.service"); +const students_controller_1 = require("./students.controller"); +const students_repository_1 = require("./students.repository"); +const students_providers_1 = require("./students.providers"); +const classes_service_1 = require("../classes/classes.service"); +const classes_repository_1 = require("../classes/classes.repository"); +const class_providers_1 = require("../classes/class.providers"); +let StudentsModule = class StudentsModule { +}; +StudentsModule = __decorate([ + (0, common_1.Module)({ + controllers: [students_controller_1.StudentsController], + providers: [students_service_1.StudentsService, students_repository_1.StudentRepository, ...students_providers_1.studentProviders, + classes_service_1.ClassesService, + classes_repository_1.ClassRepository, + ...class_providers_1.classProviders,], + }) +], StudentsModule); +exports.StudentsModule = StudentsModule; +//# sourceMappingURL=students.module.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.js.map new file mode 100644 index 000000000..ce0f66f69 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"students.module.js","sourceRoot":"","sources":["../../../src/models/students/students.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAAqD;AACrD,+DAA2D;AAC3D,+DAA0D;AAC1D,6DAAwD;AACxD,gEAA4D;AAC5D,sEAAgE;AAChE,gEAA4D;AASrD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAP1B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,wCAAkB,CAAC;QACjC,SAAS,EAAE,CAAC,kCAAe,EAAE,uCAAiB,EAAE,GAAG,qCAAgB;YACjE,gCAAc;YACd,oCAAe;YACf,GAAG,gCAAc,EAAE;KACtB,CAAC;GACW,cAAc,CAAG;AAAjB,wCAAc"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.d.ts new file mode 100644 index 000000000..ade62abf1 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.d.ts @@ -0,0 +1,9 @@ +import { Student } from './entities/student.entity'; +import { Class } from '../classes/entities/class.entity'; +export declare const studentProviders: ({ + provide: string; + useValue: typeof Student; +} | { + provide: string; + useValue: typeof Class; +})[]; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.js new file mode 100644 index 000000000..64624d064 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.studentProviders = void 0; +const student_entity_1 = require("./entities/student.entity"); +const constants_1 = require("../../common/constants"); +const class_entity_1 = require("../classes/entities/class.entity"); +exports.studentProviders = [ + { + provide: constants_1.STUDENT, + useValue: student_entity_1.Student, + }, + { + provide: constants_1.CLASS, + useValue: class_entity_1.Class, + }, +]; +//# sourceMappingURL=students.providers.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.js.map new file mode 100644 index 000000000..b03e4cd89 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.providers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"students.providers.js","sourceRoot":"","sources":["../../../src/models/students/students.providers.ts"],"names":[],"mappings":";;;AACA,8DAAoD;AAGpD,sDAAyD;AACzD,mEAAyD;AAE5C,QAAA,gBAAgB,GAAG;IAC9B;QACE,OAAO,EAAE,mBAAO;QAChB,QAAQ,EAAE,wBAAO;KAClB;IACD;QACE,OAAO,EAAE,iBAAK;QACd,QAAQ,EAAE,oBAAK;KAChB;CACF,CAAC"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.d.ts new file mode 100644 index 000000000..46e313aeb --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.d.ts @@ -0,0 +1,11 @@ +import { ModelStatic } from 'sequelize'; +import { Student } from '../students/entities/student.entity'; +export declare class StudentRepository { + studentModel: ModelStatic; + constructor(studentModel: ModelStatic); + findAll(): Promise; + getAssignedStudents(classId: number): Promise; + assignStudent(tz: number, classId: number): Promise<[affectedCount: number]>; + unAssignStudent(tz: number, classId: number): Promise<[affectedCount: number]>; + removeOne(tz: number): Promise; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.js new file mode 100644 index 000000000..473887b50 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.js @@ -0,0 +1,55 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StudentRepository = void 0; +const common_1 = require("@nestjs/common"); +const constants_1 = require("../../common/constants"); +const class_entity_1 = require("../classes/entities/class.entity"); +let StudentRepository = class StudentRepository { + constructor(studentModel) { + this.studentModel = studentModel; + } + async findAll() { + return this.studentModel.findAll({ + include: [ + { + model: class_entity_1.Class, + }, + ], + }); + } + getAssignedStudents(classId) { + return this.studentModel.findAll({ where: { classId } }); + } + assignStudent(tz, classId) { + return this.studentModel.update({ classId }, { where: { tz } }); + } + unAssignStudent(tz, classId) { + return this.studentModel.update({ classId: null }, { where: { tz } }); + } + removeOne(tz) { + return this.studentModel.destroy({ + where: { + tz, + }, + }); + } +}; +StudentRepository = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, common_1.Inject)(constants_1.STUDENT)), + __metadata("design:paramtypes", [Object]) +], StudentRepository); +exports.StudentRepository = StudentRepository; +//# sourceMappingURL=students.repository.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.js.map new file mode 100644 index 000000000..0a366f3b7 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.repository.js.map @@ -0,0 +1 @@ +{"version":3,"file":"students.repository.js","sourceRoot":"","sources":["../../../src/models/students/students.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,sDAA+C;AAC/C,mEAAyD;AAIlD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAAoC,YAAkC;QAAlC,iBAAY,GAAZ,YAAY,CAAsB;IAAG,CAAC;IAE1E,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAC/B,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,oBAAK;iBACb;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,OAAe;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,OAAe;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE;gBACL,EAAE;aACH;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAhCY,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,mBAAO,CAAC,CAAA;;GADjB,iBAAiB,CAgC7B;AAhCY,8CAAiB"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.d.ts new file mode 100644 index 000000000..63bd0376e --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.d.ts @@ -0,0 +1,13 @@ +import { ClassesService } from '../classes/classes.service'; +import { Student } from './entities/student.entity'; +import { StudentRepository } from './students.repository'; +export declare class StudentsService { + private readonly studentRepository; + private readonly classService; + constructor(studentRepository: StudentRepository, classService: ClassesService); + findAll(): Promise; + unAssignStudent(id: number, classId: number): Promise<[affectedCount: number]>; + getAssignedStudents(classId: number): Promise; + assignStudent(id: number, classId: number): Promise<[affectedCount: number]>; + removeOne(id: number): Promise; +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.js new file mode 100644 index 000000000..28c11967c --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.js @@ -0,0 +1,47 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StudentsService = void 0; +const common_1 = require("@nestjs/common"); +const classes_service_1 = require("../classes/classes.service"); +const students_repository_1 = require("./students.repository"); +let StudentsService = class StudentsService { + constructor(studentRepository, classService) { + this.studentRepository = studentRepository; + this.classService = classService; + } + async findAll() { + const students = await this.studentRepository.findAll(); + if (!students.length) + throw new common_1.NotFoundException('Classes not found'); + return students; + } + unAssignStudent(id, classId) { + return this.studentRepository.unAssignStudent(id, classId); + } + getAssignedStudents(classId) { + return this.studentRepository.getAssignedStudents(classId); + } + assignStudent(id, classId) { + this.classService.decrementSeats(classId); + return this.studentRepository.assignStudent(id, classId); + } + removeOne(id) { + return this.studentRepository.removeOne(id); + } +}; +StudentsService = __decorate([ + (0, common_1.Injectable)(), + __metadata("design:paramtypes", [students_repository_1.StudentRepository, + classes_service_1.ClassesService]) +], StudentsService); +exports.StudentsService = StudentsService; +//# sourceMappingURL=students.service.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.js.map new file mode 100644 index 000000000..064a3c8ce --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/models/students/students.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"students.service.js","sourceRoot":"","sources":["../../../src/models/students/students.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAC/D,gEAA4D;AAE5D,+DAA0D;AAGnD,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YACmB,iBAAoC,EACpC,YAA4B;QAD5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAgB;IAC5C,CAAC;IAEJ,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAc,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,0BAAiB,CAAC,mBAAmB,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,OAAe;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,OAAe;QACvC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AA5BY,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAG2B,uCAAiB;QACtB,gCAAc;GAHpC,eAAe,CA4B3B;AA5BY,0CAAe"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.d.ts new file mode 100644 index 000000000..3d07f8b5b --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.d.ts @@ -0,0 +1 @@ +export * from "./postgres/provider.module"; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.js new file mode 100644 index 000000000..da54024fe --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.js @@ -0,0 +1,18 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./postgres/provider.module"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.js.map new file mode 100644 index 000000000..7e15c9997 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/database/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.d.ts new file mode 100644 index 000000000..d6fdcd751 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.d.ts @@ -0,0 +1,2 @@ +export declare class DatabaseModule { +} diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.js new file mode 100644 index 000000000..6a7fb8125 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.js @@ -0,0 +1,21 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DatabaseModule = void 0; +const common_1 = require("@nestjs/common"); +const provider_providers_1 = require("./provider.providers"); +let DatabaseModule = class DatabaseModule { +}; +DatabaseModule = __decorate([ + (0, common_1.Module)({ + providers: [...provider_providers_1.databaseProviders], + exports: [...provider_providers_1.databaseProviders] + }) +], DatabaseModule); +exports.DatabaseModule = DatabaseModule; +//# sourceMappingURL=provider.module.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.js.map new file mode 100644 index 000000000..40b792797 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"provider.module.js","sourceRoot":"","sources":["../../../../src/providers/database/postgres/provider.module.ts"],"names":[],"mappings":";;;;;;;;;AACA,2CAAwC;AAGxC,6DAAyD;AAMlD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAJ1B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,GAAG,sCAAiB,CAAC;QACjC,OAAO,EAAE,CAAC,GAAG,sCAAiB,CAAC;KAChC,CAAC;GACW,cAAc,CAAG;AAAjB,wCAAc"} \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.d.ts b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.d.ts new file mode 100644 index 000000000..a65bc6535 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.d.ts @@ -0,0 +1,5 @@ +import { Sequelize } from 'sequelize-typescript'; +export declare const databaseProviders: { + provide: string; + useFactory: () => Sequelize; +}[]; diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.js b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.js new file mode 100644 index 000000000..2bbad9b7c --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.databaseProviders = void 0; +const sequelize_typescript_1 = require("sequelize-typescript"); +const class_entity_1 = require("../../../models/classes/entities/class.entity"); +const student_entity_1 = require("../../../models/students/entities/student.entity"); +require('dotenv').config(); +exports.databaseProviders = [ + { + provide: 'SEQUELIZE', + useFactory: () => { + const sequelize = new sequelize_typescript_1.Sequelize({ + database: process.env.DB_DATABASE, + host: process.env.DB_HOST, + port: 5432, + schema: 'hafifa', + username: process.env.DB_USERNAME, + password: process.env.DB_PASSWORD, + dialect: 'postgres', + ssl: true, + dialectOptions: { + ssl: { + require: true, + }, + }, + models: [class_entity_1.Class, student_entity_1.Student], + }); + sequelize.addModels([class_entity_1.Class, student_entity_1.Student]); + return sequelize; + }, + }, +]; +//# sourceMappingURL=provider.providers.js.map \ No newline at end of file diff --git a/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.js.map b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.js.map new file mode 100644 index 000000000..980762f51 --- /dev/null +++ b/02-TypeScript/18-personalProject/KSENIYA-CLASSROOM/classroom-server/dist/providers/database/postgres/provider.providers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"provider.providers.js","sourceRoot":"","sources":["../../../../src/providers/database/postgres/provider.providers.ts"],"names":[],"mappings":";;;AACA,+DAAiD;AACjD,gFAAiE;AACjE,qFAAsE;AAEtE,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAA;AAEb,QAAA,iBAAiB,GAAG;IAC/B;QACE,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,GAAG,EAAE;YACf,MAAM,SAAS,GAAG,IAAI,gCAAS,CAAC;gBAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;gBACjC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;gBACzB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;gBACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;gBACjC,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,IAAI;gBACT,cAAc,EAAE;oBACd,GAAG,EAAE;wBACH,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,MAAM,EAAE,CAAC,oBAAK,EAAE,wBAAO,CAAC;aACzB,CAAC,CAAC;YAEH,SAAS,CAAC,SAAS,CAAC,CAAC,oBAAK,EAAE,wBAAO,CAAC,CAAC,CAAC;YAEtC,OAAO,SAAS,CAAC;QACnB,CAAC;KACF;CACF,CAAC"} \ No newline at end of file diff --git a/04-React/04-react-with-server/followup/Orel/client/src/components/Balloon/dist/Balloon.css b/04-React/04-react-with-server/followup/Orel/client/src/components/Balloon/dist/Balloon.css new file mode 100644 index 000000000..1df94fa2d --- /dev/null +++ b/04-React/04-react-with-server/followup/Orel/client/src/components/Balloon/dist/Balloon.css @@ -0,0 +1,23 @@ +.balloon-container { + animation: balloonAnimation linear; + animation-duration: 2s; + bottom: -30%; + position: absolute; + cursor: pointer; + overflow: hidden; + width: 200px; + background-color: unset; +} +.balloon-container__balloon { + width: inherit; + object-fit: contain; +} + +@keyframes balloonAnimation { + from { + bottom: -20%; + } + to { + bottom: 100%; + } +} \ No newline at end of file diff --git a/04-React/04-react-with-server/followup/Orel/client/src/components/Balloon/dist/Balloon.js b/04-React/04-react-with-server/followup/Orel/client/src/components/Balloon/dist/Balloon.js new file mode 100644 index 000000000..619b49446 --- /dev/null +++ b/04-React/04-react-with-server/followup/Orel/client/src/components/Balloon/dist/Balloon.js @@ -0,0 +1,113 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +exports.__esModule = true; +var react_1 = require("react"); +require("./Balloon.scss"); +var axios_1 = require("axios"); +var Balloon = function (_a) { + var balloons = _a.balloons, setBalloons = _a.setBalloons, speed = _a.speed; + var _b = react_1.useState(null), randomBall = _b[0], setRandomBall = _b[1]; + var _c = react_1.useState({ + left: '50%', + animationDuration: speed + "s" + }), style = _c[0], setStyle = _c[1]; + react_1.useEffect(function () { + try { + var newBalloon = __spreadArrays(balloons); + var randomIndex = Math.floor(Math.random() * newBalloon.length); + setRandomBall(newBalloon[randomIndex]); + } + catch (error) { + console.error(error); + } + }, [balloons]); + function handleClickBalloon() { + try { + if (!randomBall) + throw new Error('No random balloon found'); + var copyBalloon = __spreadArrays(balloons); + var randomIndex = Math.ceil((Math.random() * 80) - 20) + 20; + var updateBalloons = copyBalloon.filter(function (b) { return b._id !== (randomBall === null || randomBall === void 0 ? void 0 : randomBall._id); }); + setRandomBall(null); + setStyle({ + left: randomIndex + "%", + animationDuration: speed + "s" + }); + setBalloons(updateBalloons); + if (randomBall === null || randomBall === void 0 ? void 0 : randomBall._id) + getScoreAndUpdateByOne(randomBall === null || randomBall === void 0 ? void 0 : randomBall._id); + } + catch (error) { + console.error(error); + } + } + function getScoreAndUpdateByOne(balloonId) { + return __awaiter(this, void 0, void 0, function () { + var data, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].post('api/balloons//get-score-by-id-and-update-by-one', { id: balloonId })]; + case 1: + data = (_a.sent()).data; + if (!data) + throw new Error("no found dataJs"); + console.log(data); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); + } + return (randomBall && + react_1["default"].createElement("div", { style: style, className: "balloon-container" }, + react_1["default"].createElement("img", { width: "150px", src: randomBall.src, alt: randomBall.name, onClick: handleClickBalloon, className: "container-balloon__balloon" }))); +}; +exports["default"] = Balloon; diff --git a/04-React/04-react-with-server/followup/Orel/client/src/components/Navbar/dist/Navbar.js b/04-React/04-react-with-server/followup/Orel/client/src/components/Navbar/dist/Navbar.js new file mode 100644 index 000000000..46ac0b308 --- /dev/null +++ b/04-React/04-react-with-server/followup/Orel/client/src/components/Navbar/dist/Navbar.js @@ -0,0 +1,83 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +var axios_1 = require("axios"); +require("./Navbar.scss"); +var Navbar = function () { + function handleClickResetGame() { + try { + location.reload(); + } + catch (error) { + console.log(error); + } + } + function handleResetScore() { + return __awaiter(this, void 0, void 0, function () { + var data, message, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].get("/api/balloons/reset-scores")]; + case 1: + data = (_a.sent()).data; + if (!data) + throw new Error("no found Data DB"); + message = data.message; + console.log(message); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); + } + return (React.createElement("nav", { className: 'navbar-container' }, + React.createElement("ul", { className: 'navbar-container__nav' }, + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn' }, "Start Game")), + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn', onClick: handleClickResetGame }, "Reset Game")), + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn', onClick: handleResetScore }, "Reset Score"))))); +}; +exports["default"] = Navbar; diff --git a/04-React/04-react-with-server/followup/Orel/client/src/components/Score/dist/Score.js b/04-React/04-react-with-server/followup/Orel/client/src/components/Score/dist/Score.js new file mode 100644 index 000000000..52e2a605e --- /dev/null +++ b/04-React/04-react-with-server/followup/Orel/client/src/components/Score/dist/Score.js @@ -0,0 +1,11 @@ +// import axios from 'axios' +// import {useEffect , useState} from 'react' +// const Score = () => { +// const [score , setScore] = useState(Number) +// return ( +//
+//

Score:{score}

+//
+// ) +// } +// export default Score diff --git a/04-React/04-react-with-server/followup/Orel/client/src/dist/App.js b/04-React/04-react-with-server/followup/Orel/client/src/dist/App.js new file mode 100644 index 000000000..3fe46d9c3 --- /dev/null +++ b/04-React/04-react-with-server/followup/Orel/client/src/dist/App.js @@ -0,0 +1,76 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +require("./App.scss"); +var axios_1 = require("axios"); +var react_1 = require("react"); +var Balloon_1 = require("./components/Balloon/Balloon"); // interface Ballon +var Navbar_1 = require("./components/Navbar/Navbar"); +// import GameBoard from './components/GameBoard/GameBoard' +function App() { + var _this = this; + var _a = react_1.useState([]), balloons = _a[0], setBalloons = _a[1]; + react_1.useEffect(function () { + (function () { return __awaiter(_this, void 0, void 0, function () { + var data, balloonsDB, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].get('/api/balloons/get-balloons')]; + case 1: + data = (_a.sent()).data; + balloonsDB = data.balloons; + if (!balloonsDB) + throw new Error("no found balloons in data DB"); + setBalloons(balloonsDB); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); })(); + }, []); + return (React.createElement("section", { className: 'main-container' }, + React.createElement(Navbar_1["default"], null), + React.createElement(Balloon_1["default"], { balloons: balloons, setBalloons: setBalloons, speed: 1.5 }))); +} +exports["default"] = App; diff --git a/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Balloon/dist/Balloon.css b/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Balloon/dist/Balloon.css new file mode 100644 index 000000000..1df94fa2d --- /dev/null +++ b/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Balloon/dist/Balloon.css @@ -0,0 +1,23 @@ +.balloon-container { + animation: balloonAnimation linear; + animation-duration: 2s; + bottom: -30%; + position: absolute; + cursor: pointer; + overflow: hidden; + width: 200px; + background-color: unset; +} +.balloon-container__balloon { + width: inherit; + object-fit: contain; +} + +@keyframes balloonAnimation { + from { + bottom: -20%; + } + to { + bottom: 100%; + } +} \ No newline at end of file diff --git a/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Balloon/dist/Balloon.js b/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Balloon/dist/Balloon.js new file mode 100644 index 000000000..619b49446 --- /dev/null +++ b/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Balloon/dist/Balloon.js @@ -0,0 +1,113 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +exports.__esModule = true; +var react_1 = require("react"); +require("./Balloon.scss"); +var axios_1 = require("axios"); +var Balloon = function (_a) { + var balloons = _a.balloons, setBalloons = _a.setBalloons, speed = _a.speed; + var _b = react_1.useState(null), randomBall = _b[0], setRandomBall = _b[1]; + var _c = react_1.useState({ + left: '50%', + animationDuration: speed + "s" + }), style = _c[0], setStyle = _c[1]; + react_1.useEffect(function () { + try { + var newBalloon = __spreadArrays(balloons); + var randomIndex = Math.floor(Math.random() * newBalloon.length); + setRandomBall(newBalloon[randomIndex]); + } + catch (error) { + console.error(error); + } + }, [balloons]); + function handleClickBalloon() { + try { + if (!randomBall) + throw new Error('No random balloon found'); + var copyBalloon = __spreadArrays(balloons); + var randomIndex = Math.ceil((Math.random() * 80) - 20) + 20; + var updateBalloons = copyBalloon.filter(function (b) { return b._id !== (randomBall === null || randomBall === void 0 ? void 0 : randomBall._id); }); + setRandomBall(null); + setStyle({ + left: randomIndex + "%", + animationDuration: speed + "s" + }); + setBalloons(updateBalloons); + if (randomBall === null || randomBall === void 0 ? void 0 : randomBall._id) + getScoreAndUpdateByOne(randomBall === null || randomBall === void 0 ? void 0 : randomBall._id); + } + catch (error) { + console.error(error); + } + } + function getScoreAndUpdateByOne(balloonId) { + return __awaiter(this, void 0, void 0, function () { + var data, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].post('api/balloons//get-score-by-id-and-update-by-one', { id: balloonId })]; + case 1: + data = (_a.sent()).data; + if (!data) + throw new Error("no found dataJs"); + console.log(data); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); + } + return (randomBall && + react_1["default"].createElement("div", { style: style, className: "balloon-container" }, + react_1["default"].createElement("img", { width: "150px", src: randomBall.src, alt: randomBall.name, onClick: handleClickBalloon, className: "container-balloon__balloon" }))); +}; +exports["default"] = Balloon; diff --git a/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Navbar/dist/Navbar.js b/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Navbar/dist/Navbar.js new file mode 100644 index 000000000..46ac0b308 --- /dev/null +++ b/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Navbar/dist/Navbar.js @@ -0,0 +1,83 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +var axios_1 = require("axios"); +require("./Navbar.scss"); +var Navbar = function () { + function handleClickResetGame() { + try { + location.reload(); + } + catch (error) { + console.log(error); + } + } + function handleResetScore() { + return __awaiter(this, void 0, void 0, function () { + var data, message, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].get("/api/balloons/reset-scores")]; + case 1: + data = (_a.sent()).data; + if (!data) + throw new Error("no found Data DB"); + message = data.message; + console.log(message); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); + } + return (React.createElement("nav", { className: 'navbar-container' }, + React.createElement("ul", { className: 'navbar-container__nav' }, + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn' }, "Start Game")), + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn', onClick: handleClickResetGame }, "Reset Game")), + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn', onClick: handleResetScore }, "Reset Score"))))); +}; +exports["default"] = Navbar; diff --git a/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Score/dist/Score.js b/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Score/dist/Score.js new file mode 100644 index 000000000..52e2a605e --- /dev/null +++ b/04-React/04-react-with-server/home-puzzles/Orel/client/src/components/Score/dist/Score.js @@ -0,0 +1,11 @@ +// import axios from 'axios' +// import {useEffect , useState} from 'react' +// const Score = () => { +// const [score , setScore] = useState(Number) +// return ( +//
+//

Score:{score}

+//
+// ) +// } +// export default Score diff --git a/04-React/04-react-with-server/home-puzzles/Orel/client/src/dist/App.js b/04-React/04-react-with-server/home-puzzles/Orel/client/src/dist/App.js new file mode 100644 index 000000000..3fe46d9c3 --- /dev/null +++ b/04-React/04-react-with-server/home-puzzles/Orel/client/src/dist/App.js @@ -0,0 +1,76 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +require("./App.scss"); +var axios_1 = require("axios"); +var react_1 = require("react"); +var Balloon_1 = require("./components/Balloon/Balloon"); // interface Ballon +var Navbar_1 = require("./components/Navbar/Navbar"); +// import GameBoard from './components/GameBoard/GameBoard' +function App() { + var _this = this; + var _a = react_1.useState([]), balloons = _a[0], setBalloons = _a[1]; + react_1.useEffect(function () { + (function () { return __awaiter(_this, void 0, void 0, function () { + var data, balloonsDB, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].get('/api/balloons/get-balloons')]; + case 1: + data = (_a.sent()).data; + balloonsDB = data.balloons; + if (!balloonsDB) + throw new Error("no found balloons in data DB"); + setBalloons(balloonsDB); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); })(); + }, []); + return (React.createElement("section", { className: 'main-container' }, + React.createElement(Navbar_1["default"], null), + React.createElement(Balloon_1["default"], { balloons: balloons, setBalloons: setBalloons, speed: 1.5 }))); +} +exports["default"] = App; diff --git a/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Balloon/dist/Balloon.css b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Balloon/dist/Balloon.css new file mode 100644 index 000000000..1df94fa2d --- /dev/null +++ b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Balloon/dist/Balloon.css @@ -0,0 +1,23 @@ +.balloon-container { + animation: balloonAnimation linear; + animation-duration: 2s; + bottom: -30%; + position: absolute; + cursor: pointer; + overflow: hidden; + width: 200px; + background-color: unset; +} +.balloon-container__balloon { + width: inherit; + object-fit: contain; +} + +@keyframes balloonAnimation { + from { + bottom: -20%; + } + to { + bottom: 100%; + } +} \ No newline at end of file diff --git a/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Balloon/dist/Balloon.js b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Balloon/dist/Balloon.js new file mode 100644 index 000000000..619b49446 --- /dev/null +++ b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Balloon/dist/Balloon.js @@ -0,0 +1,113 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +exports.__esModule = true; +var react_1 = require("react"); +require("./Balloon.scss"); +var axios_1 = require("axios"); +var Balloon = function (_a) { + var balloons = _a.balloons, setBalloons = _a.setBalloons, speed = _a.speed; + var _b = react_1.useState(null), randomBall = _b[0], setRandomBall = _b[1]; + var _c = react_1.useState({ + left: '50%', + animationDuration: speed + "s" + }), style = _c[0], setStyle = _c[1]; + react_1.useEffect(function () { + try { + var newBalloon = __spreadArrays(balloons); + var randomIndex = Math.floor(Math.random() * newBalloon.length); + setRandomBall(newBalloon[randomIndex]); + } + catch (error) { + console.error(error); + } + }, [balloons]); + function handleClickBalloon() { + try { + if (!randomBall) + throw new Error('No random balloon found'); + var copyBalloon = __spreadArrays(balloons); + var randomIndex = Math.ceil((Math.random() * 80) - 20) + 20; + var updateBalloons = copyBalloon.filter(function (b) { return b._id !== (randomBall === null || randomBall === void 0 ? void 0 : randomBall._id); }); + setRandomBall(null); + setStyle({ + left: randomIndex + "%", + animationDuration: speed + "s" + }); + setBalloons(updateBalloons); + if (randomBall === null || randomBall === void 0 ? void 0 : randomBall._id) + getScoreAndUpdateByOne(randomBall === null || randomBall === void 0 ? void 0 : randomBall._id); + } + catch (error) { + console.error(error); + } + } + function getScoreAndUpdateByOne(balloonId) { + return __awaiter(this, void 0, void 0, function () { + var data, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].post('api/balloons//get-score-by-id-and-update-by-one', { id: balloonId })]; + case 1: + data = (_a.sent()).data; + if (!data) + throw new Error("no found dataJs"); + console.log(data); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); + } + return (randomBall && + react_1["default"].createElement("div", { style: style, className: "balloon-container" }, + react_1["default"].createElement("img", { width: "150px", src: randomBall.src, alt: randomBall.name, onClick: handleClickBalloon, className: "container-balloon__balloon" }))); +}; +exports["default"] = Balloon; diff --git a/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Navbar/dist/Navbar.js b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Navbar/dist/Navbar.js new file mode 100644 index 000000000..46ac0b308 --- /dev/null +++ b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Navbar/dist/Navbar.js @@ -0,0 +1,83 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +var axios_1 = require("axios"); +require("./Navbar.scss"); +var Navbar = function () { + function handleClickResetGame() { + try { + location.reload(); + } + catch (error) { + console.log(error); + } + } + function handleResetScore() { + return __awaiter(this, void 0, void 0, function () { + var data, message, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].get("/api/balloons/reset-scores")]; + case 1: + data = (_a.sent()).data; + if (!data) + throw new Error("no found Data DB"); + message = data.message; + console.log(message); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); + } + return (React.createElement("nav", { className: 'navbar-container' }, + React.createElement("ul", { className: 'navbar-container__nav' }, + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn' }, "Start Game")), + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn', onClick: handleClickResetGame }, "Reset Game")), + React.createElement("li", { className: 'navbar-container__list' }, + React.createElement("button", { className: 'navbar-container__btn', onClick: handleResetScore }, "Reset Score"))))); +}; +exports["default"] = Navbar; diff --git a/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Score/dist/Score.js b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Score/dist/Score.js new file mode 100644 index 000000000..52e2a605e --- /dev/null +++ b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/components/Score/dist/Score.js @@ -0,0 +1,11 @@ +// import axios from 'axios' +// import {useEffect , useState} from 'react' +// const Score = () => { +// const [score , setScore] = useState(Number) +// return ( +//
+//

Score:{score}

+//
+// ) +// } +// export default Score diff --git a/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/dist/App.js b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/dist/App.js new file mode 100644 index 000000000..3fe46d9c3 --- /dev/null +++ b/04-React/05-lifiting-state-up/Home-puzzles/Orel/PopBallonWithScore/client/src/dist/App.js @@ -0,0 +1,76 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +require("./App.scss"); +var axios_1 = require("axios"); +var react_1 = require("react"); +var Balloon_1 = require("./components/Balloon/Balloon"); // interface Ballon +var Navbar_1 = require("./components/Navbar/Navbar"); +// import GameBoard from './components/GameBoard/GameBoard' +function App() { + var _this = this; + var _a = react_1.useState([]), balloons = _a[0], setBalloons = _a[1]; + react_1.useEffect(function () { + (function () { return __awaiter(_this, void 0, void 0, function () { + var data, balloonsDB, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, axios_1["default"].get('/api/balloons/get-balloons')]; + case 1: + data = (_a.sent()).data; + balloonsDB = data.balloons; + if (!balloonsDB) + throw new Error("no found balloons in data DB"); + setBalloons(balloonsDB); + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + console.error(error_1); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); })(); + }, []); + return (React.createElement("section", { className: 'main-container' }, + React.createElement(Navbar_1["default"], null), + React.createElement(Balloon_1["default"], { balloons: balloons, setBalloons: setBalloons, speed: 1.5 }))); +} +exports["default"] = App; diff --git a/temp/index.html b/temp/index.html new file mode 100644 index 000000000..ea519e328 --- /dev/null +++ b/temp/index.html @@ -0,0 +1,15 @@ + + + + + + + + Document + + + + + + + \ No newline at end of file diff --git a/temp/index.ts b/temp/index.ts new file mode 100644 index 000000000..6b4716c4d --- /dev/null +++ b/temp/index.ts @@ -0,0 +1,7 @@ +function uid(){ + return `id-${Math.random()}` +} + +class User{ + //cont... +} \ No newline at end of file