root of you project foldergit clone ssh://git@cicd.thatsend.one:8222/source-code/api/uklix.com_api.git>uklix.com_api.git as per your releavnt prject reponode_module dist .git .gitlab-ci.yml Make sure you enable hidden files and folders and check.apps/shared-app/src/business Remove all folders but keep business.enum.ts, business.module.ts, business.service.tsImport and Exports from the business.module.tsnpm intsall OR npm iRemove except the anonymous user from below tables
te_userte_user_authenticationte_user_authorisationTruncate below tables
te_user_devicete_sessionenv/.env, env/production.env, env/test.env, env/development.envNeed to change below config in .env file.
TZ set relevat timezone PROJECT_NAME set relevat project nameCOOKIE_SECRET Run command openssl enc -aes-256-cbc -k MySuperSecretPassPhrase -P -md sha1 and copy key SESSION_SECRET Run command openssl enc -aes-256-cbc -k MySuperSecretPassPhrase -P -md sha1 and copy key SESSION_SALT copy saltSESSION_IV copy ivJWT_ACCESSTOKEN_SECRET Run command openssl enc -aes-256-cbc -k MySuperSecretPassPhrase -P -md sha1 and copy key JWT_REFRESHTOKEN_SECRET Run command openssl enc -aes-256-cbc -k MySuperSecretPassPhrase -P -md sha1 and copy key Need to change below config in development.env file.
MYSQL_HOST Change as per your dev server databaseMYSQL_PORT Change as per your dev server databaseMYSQL_USER Change as per your dev server databaseMYSQL_PASS Change as per your dev server databaseMYSQL_DBNAME Change database nameNeed to change below config in production.env file.
MYSQL_HOST Change as per your prod server databaseMYSQL_PORT Change as per your prod server databaseMYSQL_USER Change as per your prod server databaseMYSQL_PASS Change as per your prod server databaseMYSQL_DBNAME Change database nameNeed to change below config in test.env file.
MYSQL_HOST Change as per your local server databaseMYSQL_PORT Change as per your local server databaseMYSQL_USER Change as per your local server databaseMYSQL_PASS Change as per your local server databaseMYSQL_DBNAME Change database name/log/pino/test/*/log/pino/development/*/log/pino/production/*npm run start:debug:sharedappnpm run start:debug:app.devdevelopment.env file.dev public_htmlproject_repo.zip.one server and go to project repossh://git@cicd.thatsend.one:8222/source-code/api/your.project.repo.git.dev server from SSH and go to your repo project root directory project.com.api. There are subfolder inside so do not get confused.root of you project folderdev branch only as this repo will be used for development. Creating multiple branch can use storage space.git clone -b dev ssh://git@cicd.thatsend.one:8222/source-code/api/your.project.repo.gitclone command is git clone -b dev ssh://git@cicd.thatsend.one:8222/source-code/api/uklix.com_api.gitrepo for shorten name or leave it as it is..dev server we can start with project related processnodeJS based project setupnvm node npm installed and you have right version of node. BEfore you proceed further check this environemnt and make it availabe for your project..env folder on your project repo root. You will find env folder in ~ npm i~ npm audit fix or any other and make sure all packages are okay.gitlab-ci.yml file. Do required chnages and push and merge your changesnpm run start:dev:sharedappnpm run start:dev:businessappnpm run start:dev:apphttp://localhost:4000https://your-domin.com.dev.client server.production (main domain) servermodule-name For example, your tables name is user_corporate_info then your moudle folder name is user-corporate-infoRename all below files as module.name
dto/user.corporate.info.dto.tsentity/user.corporate.info.entity.tsuser.corporate.info.resolver.tsuser.corporate.info.crud.factory.tsuser.corporate.info.service.tsuser.corporate.info.module.ts Follow below steps for all the files. Use Find and replace for all files with Match case enabled
[user/.] and replace with [user.corporte.info/.][user] and replace with [usercorporateinfo][User] and replace with [UserCorporateInfo]Below is the document refrences to create Entity field and grahql field
First, start work with entity file
[columnPrefix] as per the field prefix`[columnPrefix] to none`, to ?: any;[Module.name]EntityFieldMeta set desc and validation as per the table columnsNow, start to change dto file. Follow below steps
folk/user/entities/user.entity.ts and folk/user-corporate-info/entities/user.corporate.info.entity.tsMany to Onerelation in user.corporate.info.entity.ts file and set the One to Many relation in user.entity.tsMany to One:
@Field(() => UserEntity, {nullable: true, description: meta.fk_user.desc})
@ManyToOne(() => UserEntity, (entity: UserEntity) => entity.fk_user_corporate_infos)
@JoinColumn({ name: `${columnPrefix}u_id` })
fk_user?: UserEntity;One to Many: @Field(() => [UserCorporateInfoEntity], {nullable: true, description: meta.fk_user_corporate_infos.desc})
@OneToMany(() => UserCorporateInfoEntity, (entity: UserCorporateInfoEntity) => entity.fk_user)
fk_user_corporate_infos?: UserCorporateInfoEntity[]