new migration matching model names I want

This commit is contained in:
Aster Fialla
2026-03-01 17:16:52 -05:00
parent f64c9bd4ca
commit 54c87b9313
5 changed files with 27 additions and 30 deletions

View File

@@ -1,7 +1,7 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm" import { Entity, PrimaryGeneratedColumn, Column } from "typeorm"
@Entity({synchronize: true}) @Entity({name: "Member", synchronize: true})
export class Members { export class Member {
@PrimaryGeneratedColumn() @PrimaryGeneratedColumn()
id: number id: number

View File

@@ -1,7 +1,7 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm" import { Entity, PrimaryGeneratedColumn, Column } from "typeorm"
@Entity({synchronize: true}) @Entity({name: "System", synchronize: true})
export class Systems { export class System {
@PrimaryGeneratedColumn() @PrimaryGeneratedColumn()
id: number id: number

View File

@@ -1,16 +0,0 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class Update1772399846644 implements MigrationInterface {
name = 'Update1772399846644'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`CREATE TABLE "members" ("id" SERIAL NOT NULL, "userid" character varying NOT NULL, "name" character varying(100) NOT NULL, "displayname" character varying(100), "proxy" character varying, "propic" character varying, "createdAt" TIMESTAMP NOT NULL, "updatedAt" TIMESTAMP NOT NULL, CONSTRAINT "PK_28b53062261b996d9c99fa12404" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TABLE "systems" ("id" SERIAL NOT NULL, "userid" character varying NOT NULL, "fronter" character varying NOT NULL, "grouptag" character varying NOT NULL, "autoproxy" boolean NOT NULL, "createdAt" TIMESTAMP NOT NULL, "updatedAt" TIMESTAMP NOT NULL, CONSTRAINT "PK_aec3139aedeb09c5ae27f2c94d3" PRIMARY KEY ("id"))`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP TABLE "systems"`);
await queryRunner.query(`DROP TABLE "members"`);
}
}

View File

@@ -0,0 +1,16 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class Update1772402512992 implements MigrationInterface {
name = 'Update1772402512992'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`CREATE TABLE "System" ("id" SERIAL NOT NULL, "userid" character varying NOT NULL, "fronter" character varying NOT NULL, "grouptag" character varying NOT NULL, "autoproxy" boolean NOT NULL, "createdAt" TIMESTAMP NOT NULL, "updatedAt" TIMESTAMP NOT NULL, CONSTRAINT "PK_b8e3f6855de5a4758fcb59e5567" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TABLE "Member" ("id" SERIAL NOT NULL, "userid" character varying NOT NULL, "name" character varying(100) NOT NULL, "displayname" character varying(100), "proxy" character varying, "propic" character varying, "createdAt" TIMESTAMP NOT NULL, "updatedAt" TIMESTAMP NOT NULL, CONSTRAINT "PK_235428a1d87c5f639ef7b7cf170" PRIMARY KEY ("id"))`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP TABLE "Member"`);
await queryRunner.query(`DROP TABLE "System"`);
}
}

View File

@@ -1,21 +1,19 @@
const Member = require("../../database/entity/Member"); const Member = require("../../database/entity/Member");
const { AppDataSource } = require("../../database/data-source"); const { AppDataSource } = require("../../database/data-source");
const {ILike} = require("typeorm"); const {ILike} = require("typeorm");
const members = AppDataSource.getRepository(Member.Members) const members = AppDataSource.getRepository(Member.Member)
const memberRepo = {}; const memberRepo = {};
/** /**
* Gets a member based on the author and proxy tag. * Gets a member based on the author and proxy tag.
* *
* @async * @async
* @param {string} authorId - The author of the message. * @param {string} authorId - The author of the message.
* @param {string} memberName - The member's name. * @param {string} memberName - The member's name.
* @returns {Promise<ObjectLiteral[] | null>} The member object or null if not found. * @returns {Promise<Member | null>} The member object or null if not found.
*/ */
memberRepo.getMemberByName = async function (authorId, memberName) { memberRepo.getMemberByName = async function (authorId, memberName) {
const member = await members.findOneBy({where: {userid: authorId, name: ILike(`%${memberName}%`)}}); return await members.findOne({where: {userid: authorId, name: ILike(`%${memberName}%`)}});
return member.generatedMaps;
} }
/** /**
@@ -23,7 +21,7 @@ memberRepo.getMemberByName = async function (authorId, memberName) {
* *
* @async * @async
* @param {string} authorId - The author of the message * @param {string} authorId - The author of the message
* @returns {Promise<Entity[]>} The member object array. * @returns {Promise<Member[]>} The member object array.
*/ */
memberRepo.getMembersByAuthor = async function (authorId) { memberRepo.getMembersByAuthor = async function (authorId) {
return await members.findBy({userid: authorId}); return await members.findBy({userid: authorId});
@@ -53,14 +51,13 @@ memberRepo.removeMember = async function (authorId, memberName) {
* *
* @async * @async
* @param {{name: string, userid: string, displayname: (string|null), proxy: (string|null), propic: (string|null)}} createObj - Object with parameters in it * @param {{name: string, userid: string, displayname: (string|null), proxy: (string|null), propic: (string|null)}} createObj - Object with parameters in it
* @returns {Promise<ObjectLiteral[]>} A successful inserted object. * @returns {Promise<Member>} A successful inserted object.
* @throws {Error} When the member already exists, there are validation errors, or adding a member doesn't work. * @throws {Error} When the member already exists, there are validation errors, or adding a member doesn't work.
*/ */
memberRepo.createMember = async function (createObj) { memberRepo.createMember = async function (createObj) {
const member = members.insert({ return members.insert({
name: createObj.name, userid: createObj.authorId, displayname: createObj.displayName, proxy: createObj.proxy, propic: createObj.propic name: createObj.name, userid: createObj.authorId, displayname: createObj.displayName, proxy: createObj.proxy, propic: createObj.propic
}); });
return member.generatedMaps;
} }
/** /**
@@ -75,7 +72,7 @@ memberRepo.createMember = async function (createObj) {
* @throws {Error} When no member row was updated. * @throws {Error} When no member row was updated.
*/ */
memberRepo.updateMemberValue = async function (authorId, memberName, columnName, value) { memberRepo.updateMemberValue = async function (authorId, memberName, columnName, value) {
const updated = members.update({columnName: value}, { const updated = await members.update({[columnName]: value}, {
where: { where: {
name: ILike(`%${memberName}%`), name: ILike(`%${memberName}%`),
userid: authorId userid: authorId