3 Commits

Author SHA1 Message Date
97a742fa22 update workflow to put branch references into quotes and add Develop branch
All checks were successful
Build Dev instance / build (push) Successful in 1m8s
2026-03-06 05:51:56 +11:00
04e9a5f303 fix up database source from localhost to env variable
All checks were successful
Build Dev instance / build (push) Successful in 57s
2026-03-05 17:11:00 +11:00
b8ad686d09 why wont these workflows stay up gahdamn
Some checks failed
Build Dev instance / build (push) Has been cancelled
2026-03-05 16:34:56 +11:00
11 changed files with 22 additions and 55 deletions

View File

@@ -6,9 +6,7 @@ on:
pull_request:
branches: ["main"]
workflow_dispatch:
jobs:
jobs:
build:

View File

@@ -2,7 +2,7 @@ name: Auto-Sync from Mirror
on:
push:
repository: "Pluralflux/Pluralflux"
branches: [main,develop]
branches: ['main', 'Develop', 'develop']
workflow_dispatch:

View File

@@ -7,6 +7,8 @@ PluralFlux is a proxybot akin to PluralKit and Tupperbox, but for [Fluxer](https
[Sponsor the project](https://github.com/sponsors/pieartsy)
If it's not running at the moment, it's because my computer crashed or something. I'm looking to move running it to a somewhat more permanent solution.
## Commands
All commands are prefixed by `pf;`. Currently only a few are implemented.

View File

@@ -22,5 +22,4 @@ services:
volumes:
- pgadmindata:/var/lib/pgadmin
volumes:
pgdata:
pgadmindata:
pgdata:

View File

@@ -1,7 +1,6 @@
import {Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, Unique} from "typeorm"
import {Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn} from "typeorm"
@Entity({name: "Member", synchronize: true})
@Unique("UQ_Member_userid_name", ['userid', 'name'])
export class Member {
@PrimaryGeneratedColumn()

View File

@@ -1,17 +0,0 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class DeleteDuplicates1772825438973 implements MigrationInterface {
name= "DeleteDuplicates1772825438973"
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DELETE
FROM "Member" a USING "Member" b
WHERE a.id
> b.id
AND a.name = b.name
AND a.userid = b.userid;`)
}
public async down(queryRunner: QueryRunner): Promise<void> {
}
}

View File

@@ -1,14 +0,0 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class Update1772830252670 implements MigrationInterface {
name = 'Update1772830252670'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "Member" ADD CONSTRAINT "UQ_Member_userid_name" UNIQUE ("userid", "name")`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "Member" DROP CONSTRAINT "UQ_Member_userid_name"`);
}
}

View File

@@ -35,7 +35,7 @@
"scripts": {
"test": "jest",
"start": "ts-node src/bot.js",
"new-migration": "typeorm-ts-node-commonjs migration:create database/migrations/update",
"build-db": "tsc",
"generate-db": "typeorm-ts-node-commonjs migration:generate -d database/data-source.ts database/migrations/update",
"run-migration": "typeorm-ts-node-commonjs migration:run -d database/data-source.ts"
}

View File

@@ -403,7 +403,7 @@ memberHelper.updateMemberField = async function (authorId, memberName, columnNam
/**
* Gets the details for a member.
*
* @param {{Member, string[]}} member - The member object
* @param {{Members, string[]}} member - The member object
* @returns {EmbedBuilder} The member's info.
*/
memberHelper.getMemberInfo = function (member) {

View File

@@ -36,7 +36,12 @@ memberRepo.getMembersByAuthor = async function (authorId) {
* @returns {Promise<number>} Number of results removed.
*/
memberRepo.removeMember = async function (authorId, memberName) {
const deleted = await members.delete({ name: ILike(memberName), userid: authorId })
const deleted = await members.delete({
where: {
name: ILike(memberName),
userid: authorId
}
})
return deleted.affected;
}
@@ -48,8 +53,8 @@ memberRepo.removeMember = async function (authorId, memberName) {
* @returns {Promise<Member>} A successful inserted object.
*/
memberRepo.createMember = async function (createObj) {
return await members.save({
name: createObj.name, userid: createObj.userid, displayname: createObj.displayname, proxy: createObj.proxy, propic: createObj.propic
return members.insert({
name: createObj.name, userid: createObj.authorId, displayname: createObj.displayName, proxy: createObj.proxy, propic: createObj.propic
});
}
@@ -64,10 +69,12 @@ memberRepo.createMember = async function (createObj) {
* @returns {Promise<number>} A successful update.
*/
memberRepo.updateMemberField = async function (authorId, memberName, columnName, value) {
const updated = await members.update({
name: ILike(memberName),
userid: authorId
}, {[columnName]: value})
const updated = await members.update({[columnName]: value}, {
where: {
name: ILike(memberName),
userid: authorId
}
})
return updated.affected;
}

View File

@@ -1,7 +0,0 @@
FLUXER_BOT_TOKEN=<>
POSTGRES_PASSWORD=<>
POSTGRES_ENDPOINT=postgres
PGADMIN_DEFAULT_EMAIL: <>
PGADMIN_DEFAULT_PASSWORD: <>
PGADMIN_CONFIG_SERVER_MODE: 'False'
PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: 'False'