From e04b4e29300df6031d521f89a122f28b54e34f26 Mon Sep 17 00:00:00 2001 From: risadmin_prod Date: Mon, 16 Sep 2024 05:01:35 +0000 Subject: [PATCH] build_app --- .../authsec_node/Backend/app.js | 3 + .../entity/basicp1/Forma.controller.js | 186 ++++++++++ .../Backend/routes/basicp1/Forma.routes.js | 20 + .../authsec_mysql/mysql/wf_table/wf_table.sql | 2 + .../login/login-page/login_environment.ts | 18 +- .../basicp1/Forma/Forma.component.html | 348 ++++++++++++++++++ .../basicp1/Forma/Forma.component.scss | 78 ++++ .../basicp1/Forma/Forma.component.ts | 242 ++++++++++++ .../basicp1/Forma/Forma.service.ts | 37 ++ .../basicp1/Forma/Forma_cardvariable.ts | 4 + .../app/modules/main/main-routing.module.ts | 4 + .../src/app/modules/main/main.module.ts | 4 + 12 files changed, 937 insertions(+), 9 deletions(-) create mode 100644 pro118njsac-back-b/authsec_node/Backend/entity/basicp1/Forma.controller.js create mode 100644 pro118njsac-back-b/authsec_node/Backend/routes/basicp1/Forma.routes.js create mode 100755 pro118njsac-db-d/authsec_mysql/mysql/wf_table/wf_table.sql create mode 100644 pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.html create mode 100644 pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.scss create mode 100644 pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.ts create mode 100644 pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.service.ts create mode 100644 pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma_cardvariable.ts diff --git a/pro118njsac-back-b/authsec_node/Backend/app.js b/pro118njsac-back-b/authsec_node/Backend/app.js index 939a100..b88b46b 100644 --- a/pro118njsac-back-b/authsec_node/Backend/app.js +++ b/pro118njsac-back-b/authsec_node/Backend/app.js @@ -35,6 +35,9 @@ app.use(`${basePath}`, userRouter) app.use(bodyParser.json()) // buildercomponents +const FormaRouter = require("./routes/basicp1/Forma.routes") + app.use("/Forma/Forma", FormaRouter) + diff --git a/pro118njsac-back-b/authsec_node/Backend/entity/basicp1/Forma.controller.js b/pro118njsac-back-b/authsec_node/Backend/entity/basicp1/Forma.controller.js new file mode 100644 index 0000000..63db4dd --- /dev/null +++ b/pro118njsac-back-b/authsec_node/Backend/entity/basicp1/Forma.controller.js @@ -0,0 +1,186 @@ + const db = require("../../config/database") + +const getUsersPaged = async (req, res) => { + try { + const page = parseInt(req.query.page) || 2 + const pageSize = parseInt(req.query.size) || 10 + const offset = (page - 1) * pageSize + + const results = await executeQuery( + `SELECT * FROM forma LIMIT ${pageSize} OFFSET ${offset}` + ) + + return res.json({ content: results}) + } catch (error) { + console.error(error) + return res.status(500).json({ + success: 0, + message: "Error fetching content from the contentbase", + error: error.message, + }) + } +} + + const getUsers = async (req, res) => { + try { + const results = await executeQuery("SELECT * FROM forma", []) + return res.json(results) + } catch (error) { + console.error(error) + return res.status(500).json({ + success: 0, + message: "Error fetching content from the contentbase", + error: error.message, + }) + } +} + +const getUsersByUserId = async (req, res) => { + const id = req.params.id + try { + const results = await executeQuery( + "SELECT * FROM forma WHERE id = ?", + [id] + ) + if (!results || results.length === 0) { + return res.json({ + success: 0, + message: "Record not found", + }) + } + return res.json({ + success: 1, + content: results, + }) + } catch (error) { + console.error(error) + return res.status(500).json({ + success: 0, + message: "Error fetching content from the contentbase", + error: error.message, + }) + } +} + +const createUser = async (req, res) => { + const body = req.body + try { + const params = [ body.namem, + +body.descriptionnn, + + ] + + // Replace undefined with null in parameters + const sanitizedParams = params.map((param) => + param !== undefined ? param : null + ) + + await executeQuery( + ` + INSERT INTO forma + SET namem = ?, + +descriptionnn = ? + +`, + sanitizedParams + ) + + return res.json({ + success: 1, + content: "user created successfully", + }) + } catch (error) { + console.error(error) + return res.status(500).json({ + success: 0, + message: "Error creating user", + error: error.message, + }) + } +} +const updateUsers = async (req, res) => { + const body = req.body; + const id = req.params.id; + + try { + // Ensure that required parameters exist and replace undefined with null + const params = [body.namem, + +body.descriptionnn, + + id, + ]; + + const sanitizedParams = params.map((param) => (param !== undefined ? param : null)); + + const results = await executeQuery( + ` + UPDATE forma + SET namem = ?, + +descriptionnn = ? + + WHERE id = ? + `, + sanitizedParams + ); + + if (!results) { + return res.json({ + success: 0, + message: "Failed to update user", + }); + } + + return res.json({ + success: 1, + content: "Updated successfully", + }); + } catch (error) { + console.error(error); + return res.status(500).json({ + success: 0, + message: "Error updating user", + error: error.message, + }); + } +}; + +const deleteUsers = async (req, res) => { + const id = req.params.id + try { + await executeQuery("DELETE FROM forma WHERE id = ?", [id]) + return res.json({ + success: 1, + content: "user deleted successfully", + }) + } catch (error) { + console.error(error) + return res.status(500).json({ + success: 0, + message: "Error deleting user", + error: error.message, + }) + } +} + +module.exports = { + getUsers, +getUsersPaged, + getUsersByUserId, + createUser, + updateUsers, + deleteUsers, +} + +async function executeQuery(sql, values) { + const connection = await db.getConnection() + try { + const [rows] = await connection.execute(sql, values) + return rows + } finally { + connection.release() + } +} diff --git a/pro118njsac-back-b/authsec_node/Backend/routes/basicp1/Forma.routes.js b/pro118njsac-back-b/authsec_node/Backend/routes/basicp1/Forma.routes.js new file mode 100644 index 0000000..46347c1 --- /dev/null +++ b/pro118njsac-back-b/authsec_node/Backend/routes/basicp1/Forma.routes.js @@ -0,0 +1,20 @@ + +const { + createUser, + getUsers, +getUsersPaged, + getUsersByUserId, + updateUsers, + deleteUsers, + } = require("../../entity/basicp1/Forma.controller") + + const router = require("express").Router() + + router.get("/", getUsers).post("/", createUser).get("/getall/page",getUsersPaged) + router + .get("/:id", getUsersByUserId) + .put("/:id", updateUsers) + .delete("/:id", deleteUsers) + + module.exports = router + diff --git a/pro118njsac-db-d/authsec_mysql/mysql/wf_table/wf_table.sql b/pro118njsac-db-d/authsec_mysql/mysql/wf_table/wf_table.sql new file mode 100755 index 0000000..1af6978 --- /dev/null +++ b/pro118njsac-db-d/authsec_mysql/mysql/wf_table/wf_table.sql @@ -0,0 +1,2 @@ +CREATE TABLE db.Forma(id BIGINT NOT NULL AUTO_INCREMENT, Namem VARCHAR(400), Descriptionnn VARCHAR(400), PRIMARY KEY (id)); + diff --git a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts index 231b3a1..fdff417 100644 --- a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts +++ b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts @@ -2,14 +2,14 @@ export const LoginEnvironment = { - "templateNo": "", - "loginHeading": "", - "loginHeading2": "", - "isSignup": "", - "loginSignup": " ", - "loginSignup2": "", - "loginForgotpass": "", - "loginImage": "", - "loginImageURL": "" + "templateNo": "Template 1", + "loginHeading": "Welcome to", + "loginHeading2": "io8.dev", + "isSignup": "true", + "loginSignup": "Use your ID to sign in OR ", + "loginSignup2": "create one now", + "loginForgotpass": "FORGOT PASSWORD?", + "loginImage": "[]", + "loginImageURL": "null" } diff --git a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.html b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.html new file mode 100644 index 0000000..92fb11a --- /dev/null +++ b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.html @@ -0,0 +1,348 @@ + +
+
+
+

Forma

+
+
+ + + +
+ + + + Loading ... + +
{{error}}
+
+ + Namem + + + + Descriptionnn + + + + + + Action + + + + + +{{user. namem }} + + + + + + + + + + + +
Who Column
+
Account ID: {{user.accountId}}
+
Created At: {{user.createdAt| date}}
+
Created By: {{user.createdBy}}
+
Updated At: {{user.updatedAt | date}}
+
Updated By: {{user.updatedBy}}
+
+
+
+ + + + + + + +
+ + + Users per page + {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} + of {{pagination.totalItems}} users + + +
+ + + +
+
+
+
+
+
+ +
+
+ {{beforeText(item.fieldtext)}} + {{ app[transform(item.fieldtext) ] }} + {{afterText(item.fieldtext)}} +
+ +
+ {{beforeText(item.fieldtext)}} + {{ app[transform(item.fieldtext) ] | date}} + {{afterText(item.fieldtext)}} +
+
+ {{beforeText(item.fieldtext)}} + {{ app[transform(item.fieldtext) ]}} + {{afterText(item.fieldtext)}} +
+ +
+
+
+ + +
+ +
+ +
File Preview
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.scss b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.scss new file mode 100644 index 0000000..c47b921 --- /dev/null +++ b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.scss @@ -0,0 +1,78 @@ +//@import "../../../../assets/scss/var"; +.s-info-bar { + display: flex; + flex-direction: row; + justify-content: space-between; + button { + outline: none; + } +} +.delete,.heading{ + text-align: center; + color: red; +} +.entry-pg { + width: 750px; +} + +.button1::after { + content: none; +} +.button1:hover::after { + content: "ADD ROWS"; +} + +.section { + background-color: #dddddd; + height: 40px; +} + +.section p { + //color: white; + padding: 10px; + font-size: 18px; +} + +.clr-input { + color: #212529; + border: 1px solid #ced4da; + border-radius: 0.25rem; + padding: 0.75rem 0.75rem; + margin-top: 3px; + width: 100%; + margin-bottom: 10px; +} + +.clr-file { + color: #212529; + border: 1px solid #ced4da; + border-radius: 0.25rem; + //padding: 0.6rem 0.75rem; + margin-top: 3px; + width: 100%; + margin-bottom: 10px; +} + +.center { + text-align: center; +} +select{ + width: 100%; + margin-top: 3px; + padding: 5px 5px; + border: 1px solid #ccc; + border-radius: 4px; +} +input[type=text],[type=date],[type=number],textarea { + width: 100%; + padding: 15px 15px; + background-color:rgb(255, 255, 255); + // margin: 8px 0; + display: inline-block; + border: 1px solid #ccc; + border-radius: 4px; + box-sizing: border-box; +} +.error_mess { + color: red; +} diff --git a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.ts b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.ts new file mode 100644 index 0000000..65a6ddd --- /dev/null +++ b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.component.ts @@ -0,0 +1,242 @@ +import { Component, OnInit } from '@angular/core'; +import { ToastrService } from 'ngx-toastr'; +import { AlertService } from 'src/app/services/alert.service'; +import { Formaservice} from './Forma.service'; +import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms'; +import { ExtensionService } from 'src/app/services/fnd/extension.service'; +import { DashboardContentModel2 } from 'src/app/models/builder/dashboard'; +import { Formacardvariable } from './Forma_cardvariable'; +import { UserInfoService } from 'src/app/services/user-info.service'; +declare var JsBarcode: any; +@Component({ + selector: 'app-Forma', + templateUrl: './Forma.component.html', + styleUrls: ['./Forma.component.scss'] +}) +export class FormaComponent implements OnInit { + cardButton = Formacardvariable.cardButton; + cardmodeldata = Formacardvariable.cardmodeldata; + public dashboardArray: DashboardContentModel2[]; + isCardview = Formacardvariable.cardButton; + cardmodal; changeView(){ + this.isCardview = !this.isCardview; + } + beforeText(fieldtext: string): string { // Extract the text before the first '<' + const index = fieldtext.indexOf('<'); + return index !== -1 ? fieldtext.substring(0, index) : fieldtext; + } + afterText(fieldtext: string): string { // Extract the text after the last '>' + const index = fieldtext.lastIndexOf('>'); + return index !== -1 ? fieldtext.substring(index + 1) : ''; + } + transform(fieldtext: string): string { + const match = fieldtext.match(/<([^>]*)>/); + return match ? match[1] : ''; // Extract the text between '<' and '>' + } + userrole; + rowSelected :any= {}; + modaldelete=false; + modalEdit=false; + modalAdd= false; + public entryForm: FormGroup; + loading = false; + product; + modalOpenedforNewLine = false; + newLine:any; + additionalFieldsFromBackend: any[] = []; + formcode = 'Forma_formCode' +tableName = 'Forma'; checkFormCode; selected: any[] = []; constructor( + private extensionService: ExtensionService, +private userInfoService:UserInfoService, + private mainService:Formaservice, + private alertService: AlertService, + private toastr: ToastrService, + private _fb: FormBuilder, + ) { } +// component button + ngOnInit(): void { + if(this.cardmodeldata !== ''){ + this.cardmodal = JSON.parse(this.cardmodeldata); + this.dashboardArray = this.cardmodal.dashboard.slice(); + console.log(this.dashboardArray) + } + this.userrole=this.userInfoService.getRoles(); + this.getData(); + this.entryForm = this._fb.group({ +namem : [null], + +descriptionnn : [null], + + + + + + + }); // component_button200 + // form code start + this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { + console.log(data); + const jsonArray = data.map((str) => JSON.parse(str)); + this.additionalFieldsFromBackend = jsonArray; + this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Forma_formCode"); + console.log(this.checkFormCode); + console.log(this.additionalFieldsFromBackend); + if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { + this.additionalFieldsFromBackend.forEach(field => { + if (field.formCode === this.formcode) { + if (!this.entryForm.contains(field.extValue)) { + // Add the control only if it doesn't exist in the form + this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); + } + } + }); + } + }); + console.log(this.entryForm.value); + // form code end + + + + + + } + + + + + error; + getData() { + this.mainService.getAll().subscribe((data) => { + console.log(data); + this.product = data; + if(this.product.length==0){ + this.error="No Data Available" + } + },(error) => { + console.log(error); + if(error){ + this.error="Server Error"; + } + }); + } + onEdit(row) { + this.rowSelected = row; + + + + + + this.modalEdit = true; + } + onDelete(row) { + this.rowSelected = row; + this.modaldelete=true; + } + delete(id) + { + this.modaldelete = false; + console.log("in delete "+id); + this.mainService.delete(id).subscribe( + (data) => { + console.log(data); + this.ngOnInit(); + if (data) { this.toastr.success('Deleted successfully'); } + }); + } + onUpdate(id) { + this.modalEdit = false; + + + + + //console.log("in update"); + console.log("id " + id); + console.log(this.rowSelected); + //console.log("out update"); + this.mainService.update(id, this.rowSelected).subscribe( + (data) => { + console.log(data); + if (data || data.status >= 200 && data.status <= 299) { + this.toastr.success("Update Successfully"); + } + + + + + + }, (error) => { + console.log(error); + if (error.status >= 200 && error.status <= 299) { + // this.toastr.success("update Succesfully"); + } + if (error.status >= 400 && error.status <= 499) { + this.toastr.error("Not Updated"); + } + if (error.status >= 500 && error.status <= 599) { + this.toastr.error("Not Updated"); + } + }); + setTimeout(() => { + this.ngOnInit(); + }, 500); + } +onCreate() { + this.modalAdd=false; + + + + + this.mainService.create(this.entryForm.value).subscribe( + (data) => { + console.log(data); + if (data || data.status >= 200 && data.status <= 299) { + this.toastr.success("Added Successfully"); + } + + + + + + }, (error) => { + console.log(error); + if (error.status >= 200 && error.status <= 299) { + // this.toastr.success("Added Succesfully"); + } + if (error.status >= 400 && error.status <= 499) { + this.toastr.error("Not Added"); + } + if (error.status >= 500 && error.status <= 599) { + this.toastr.error("Not Added"); + } + }); + setTimeout(() => { + this.ngOnInit(); + }, 500); + } + goToAdd(row) { +this.modalAdd = true; this.submitted = false; + + + + + } + submitted = false; +onSubmit() { + console.log(this.entryForm.value); + this.submitted = true; + if (this.entryForm.invalid) { + return; + }this.onCreate(); + +} + + +rsModaldescriptionnn = false; +goToReplaceStringdescriptionnn(row){ +this.rowSelected = row; this.rsModaldescriptionnn =true; } + +// updateaction +} + + + diff --git a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.service.ts b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.service.ts new file mode 100644 index 0000000..da02b28 --- /dev/null +++ b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma.service.ts @@ -0,0 +1,37 @@ +import { Injectable } from '@angular/core'; +import { Observable } from "rxjs"; +import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; +import { ApiRequestService } from "src/app/services/api/api-request.service"; +import { environment } from 'src/environments/environment'; +@Injectable({ + providedIn: 'root' +}) +export class Formaservice{ + private baseURL = "Forma/Forma" ; constructor( + private http: HttpClient, + private apiRequest: ApiRequestService, + ) { } + getAll(page?: number, size?: number): Observable { + return this.apiRequest.get(this.baseURL); + } + getById(id: number): Observable { + const _http = this.baseURL + "/" + id; + return this.apiRequest.get(_http); + } + create(data: any): Observable { + return this.apiRequest.post(this.baseURL, data); + } + update(id: number, data: any): Observable { + const _http = this.baseURL + "/" + id; + return this.apiRequest.put(_http, data); + } + delete(id: number): Observable { + const _http = this.baseURL + "/" + id; + return this.apiRequest.delete(_http); + } + + + + +// updateaction +} \ No newline at end of file diff --git a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma_cardvariable.ts b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma_cardvariable.ts new file mode 100644 index 0000000..03f6526 --- /dev/null +++ b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Forma/Forma_cardvariable.ts @@ -0,0 +1,4 @@ +export const Formacardvariable = { + "cardButton": false, + "cardmodeldata": `` +} \ No newline at end of file diff --git a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts index e7c9cd6..ec2cdd5 100644 --- a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts +++ b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts @@ -1,3 +1,4 @@ +import { FormaComponent } from './BuilderComponents/basicp1/Forma/Forma.component'; import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component'; @@ -240,6 +241,9 @@ children: [ // buildercomponents +{path:'Forma',component:FormaComponent}, + + diff --git a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts index e76f05f..79936a3 100644 --- a/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts +++ b/pro118njsac-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts @@ -1,3 +1,4 @@ +import { FormaComponent } from './BuilderComponents/basicp1/Forma/Forma.component'; import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component'; @@ -142,6 +143,9 @@ import { MappingruleeditComponent } from './datamanagement/mappingrule/mappingru // buildercomponents +FormaComponent, + +