@voscarmv/aimessagestore 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/package.json +1 -1
- package/dist/db.d.ts +0 -2
- package/dist/db.d.ts.map +0 -1
- package/dist/db.js +0 -64
- package/dist/db.js.map +0 -1
- package/dist/s.d.ts +0 -17
- package/dist/s.d.ts.map +0 -1
- package/dist/s.js +0 -36
- package/dist/s.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Message storage and retrieval backend for [@voscarmv/aichatbot](https://www.npmjs.com/package/@voscarmv/aichatbot)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Usage
|
|
6
6
|
|
|
7
|
-
You may
|
|
7
|
+
You may use this as per [the demo.](https://github.com/voscarmv/aibot)
|
|
8
|
+
|
|
9
|
+
Or as a standalone backend for a @voscarmv/aichatbot project. For that, install `postgresql` and create a new username, password and database, with this script:
|
|
8
10
|
|
|
9
11
|
```bash
|
|
10
12
|
#!/bin/bash
|
|
@@ -33,4 +35,4 @@ echo "DATABASE_URL=postgres://$PGUSER:$PASS@localhost/$DB" >> .env
|
|
|
33
35
|
echo "✅ Database, user, and .env file created. Edit .env if needed."
|
|
34
36
|
```
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
And then just run an instance of `MessageStoreBackend()` as in [this example.](https://github.com/voscarmv/aibot/blob/main/src/server.ts)
|
package/package.json
CHANGED
package/dist/db.d.ts
DELETED
package/dist/db.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":""}
|
package/dist/db.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
// import 'dotenv/config';
|
|
2
|
-
// import { messages } from './schema.js';
|
|
3
|
-
// import { drizzle } from 'drizzle-orm/node-postgres';
|
|
4
|
-
// import {
|
|
5
|
-
// sql,
|
|
6
|
-
// eq,
|
|
7
|
-
// and,
|
|
8
|
-
// asc,
|
|
9
|
-
// type InferSelectModel
|
|
10
|
-
// } from 'drizzle-orm';
|
|
11
|
-
export {};
|
|
12
|
-
// const db = drizzle(process.env.DB_URL!);
|
|
13
|
-
// // Types
|
|
14
|
-
// export type Message = InferSelectModel<typeof messages>;
|
|
15
|
-
// // ---------------------- MESSAGES CRUD ----------------------
|
|
16
|
-
// export async function insertMessage(
|
|
17
|
-
// user_id: string,
|
|
18
|
-
// queued: boolean,
|
|
19
|
-
// message: object
|
|
20
|
-
// ): Promise<Message[]> {
|
|
21
|
-
// return await db
|
|
22
|
-
// .insert(messages)
|
|
23
|
-
// .values({
|
|
24
|
-
// user_id,
|
|
25
|
-
// queued,
|
|
26
|
-
// message: JSON.stringify(message)
|
|
27
|
-
// })
|
|
28
|
-
// .returning();
|
|
29
|
-
// }
|
|
30
|
-
// export async function readMessages(user_id: string): Promise<Message[]> {
|
|
31
|
-
// return await db
|
|
32
|
-
// .select()
|
|
33
|
-
// .from(messages)
|
|
34
|
-
// .where(eq(messages.user_id, user_id))
|
|
35
|
-
// .orderBy(asc(messages.updated_at), asc(messages.id));
|
|
36
|
-
// }
|
|
37
|
-
// export async function queuedMessages(user_id: string): Promise<Message[]> {
|
|
38
|
-
// return await db
|
|
39
|
-
// .select()
|
|
40
|
-
// .from(messages)
|
|
41
|
-
// .where(
|
|
42
|
-
// and(
|
|
43
|
-
// eq(messages.queued, true),
|
|
44
|
-
// eq(messages.user_id, user_id)
|
|
45
|
-
// )
|
|
46
|
-
// );
|
|
47
|
-
// }
|
|
48
|
-
// export async function unqueueMessages(user_id: string): Promise<Message[]> {
|
|
49
|
-
// return await db
|
|
50
|
-
// .update(messages)
|
|
51
|
-
// .set({
|
|
52
|
-
// queued: false,
|
|
53
|
-
// updated_at: sql`now()`
|
|
54
|
-
// })
|
|
55
|
-
// .where(eq(messages.user_id, user_id))
|
|
56
|
-
// .returning();
|
|
57
|
-
// }
|
|
58
|
-
// export async function deleteMessage(id: number): Promise<Message[]> {
|
|
59
|
-
// return await db
|
|
60
|
-
// .delete(messages)
|
|
61
|
-
// .where(eq(messages.id, id))
|
|
62
|
-
// .returning();
|
|
63
|
-
// }
|
|
64
|
-
//# sourceMappingURL=db.js.map
|
package/dist/db.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,0CAA0C;AAC1C,uDAAuD;AACvD,WAAW;AACX,WAAW;AACX,UAAU;AACV,WAAW;AACX,WAAW;AACX,4BAA4B;AAC5B,wBAAwB;;AAExB,2CAA2C;AAE3C,WAAW;AACX,2DAA2D;AAE3D,iEAAiE;AAEjE,uCAAuC;AACvC,uBAAuB;AACvB,uBAAuB;AACvB,sBAAsB;AACtB,0BAA0B;AAC1B,sBAAsB;AACtB,4BAA4B;AAC5B,oBAAoB;AACpB,uBAAuB;AACvB,sBAAsB;AACtB,+CAA+C;AAC/C,aAAa;AACb,wBAAwB;AACxB,IAAI;AAEJ,4EAA4E;AAC5E,sBAAsB;AACtB,oBAAoB;AACpB,0BAA0B;AAC1B,gDAAgD;AAChD,gEAAgE;AAChE,IAAI;AAEJ,8EAA8E;AAC9E,sBAAsB;AACtB,oBAAoB;AACpB,0BAA0B;AAC1B,kBAAkB;AAClB,mBAAmB;AACnB,6CAA6C;AAC7C,gDAAgD;AAChD,gBAAgB;AAChB,aAAa;AACb,IAAI;AAEJ,+EAA+E;AAC/E,sBAAsB;AACtB,4BAA4B;AAC5B,iBAAiB;AACjB,6BAA6B;AAC7B,qCAAqC;AACrC,aAAa;AACb,gDAAgD;AAChD,wBAAwB;AACxB,IAAI;AAEJ,wEAAwE;AACxE,sBAAsB;AACtB,4BAA4B;AAC5B,sCAAsC;AACtC,wBAAwB;AACxB,IAAI"}
|
package/dist/s.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type CorsOptions } from "cors";
|
|
2
|
-
export interface StoreBackend {
|
|
3
|
-
migrate: () => void;
|
|
4
|
-
listen: () => void;
|
|
5
|
-
}
|
|
6
|
-
export type MessageStoreBackendParams = {
|
|
7
|
-
dbUrl: string;
|
|
8
|
-
port: number;
|
|
9
|
-
corsOpts?: CorsOptions;
|
|
10
|
-
};
|
|
11
|
-
export declare class AiMessageStoreBackend implements StoreBackend {
|
|
12
|
-
#private;
|
|
13
|
-
constructor(params: MessageStoreBackendParams);
|
|
14
|
-
migrate(): Promise<void>;
|
|
15
|
-
listen(): void;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=s.d.ts.map
|
package/dist/s.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,MAAM,CAAC;AAOxC,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,qBAAa,qBAAsB,YAAW,YAAY;;gBAI1C,MAAM,EAAE,yBAAyB;IAavC,OAAO;IAIb,MAAM;CAIT"}
|
package/dist/s.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import express, {} from "express";
|
|
2
|
-
import {} from "cors";
|
|
3
|
-
import { drizzle, NodePgDatabase } from "drizzle-orm/node-postgres";
|
|
4
|
-
import { migrate } from 'drizzle-orm/node-postgres/migrator';
|
|
5
|
-
import cors from "cors";
|
|
6
|
-
import helmet from "helmet";
|
|
7
|
-
import morgan from "morgan";
|
|
8
|
-
;
|
|
9
|
-
export class AiMessageStoreBackend {
|
|
10
|
-
#db;
|
|
11
|
-
#app;
|
|
12
|
-
#port;
|
|
13
|
-
constructor(params) {
|
|
14
|
-
this.#db = drizzle(params.dbUrl);
|
|
15
|
-
this.#app = express();
|
|
16
|
-
if (params.corsOpts) {
|
|
17
|
-
this.#app.use(cors(params.corsOpts));
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
this.#app.use(cors());
|
|
21
|
-
}
|
|
22
|
-
this.#app.use(helmet());
|
|
23
|
-
this.#app.use(morgan("combined"));
|
|
24
|
-
this.#app.use(express.json());
|
|
25
|
-
this.#port = params.port;
|
|
26
|
-
}
|
|
27
|
-
async migrate() {
|
|
28
|
-
await migrate(this.#db, { migrationsFolder: './dist/drizzle' });
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
listen() {
|
|
32
|
-
this.#app.listen(this.#port);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=s.js.map
|
package/dist/s.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s.js","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAgB,MAAM,SAAS,CAAC;AAChD,OAAO,EAAoB,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK3B,CAAC;AAQF,MAAM,OAAO,qBAAqB;IAC9B,GAAG,CAAwC;IAC3C,IAAI,CAAU;IACd,KAAK,CAAS;IACd,YAAY,MAAiC;QACzC,IAAI,CAAC,GAAG,GAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAC,OAAO,EAAE,CAAC;QACpB,IAAG,MAAM,CAAC,QAAQ,EAAC,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,OAAO;QACT,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAC9D,OAAO;IACX,CAAC;IACD,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO;IACX,CAAC;CACJ"}
|