fac-shared-db 1.7.0 → 1.8.0

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.
@@ -0,0 +1,105 @@
1
+ import mongoose, { type Document } from "mongoose";
2
+ /**
3
+ * Cópia somente-leitura, no banco do PRÓPRIO tenant, do que ele precisa saber
4
+ * da Cidade (fac-shared-db) — catálogo de facções e qual é a própria facção.
5
+ * Escrita pelo fac-control-bot (dono da Cidade) sempre que o catálogo ou o
6
+ * vínculo Servidor→Cidade muda; o tenant só lê. Existe pra evitar que cada
7
+ * bot consumidor (ex: fac-assist-bot) precise abrir uma connection cross-db
8
+ * pro banco do fac-control-bot só pra ler isso. Singleton via configId fixo,
9
+ * mesmo padrão de MarcarAcaoGuildConfig/PedirRecGuildConfig.
10
+ */
11
+ export interface ICidadeCacheFaccao {
12
+ nome: string;
13
+ cargoFaccaoId: string;
14
+ }
15
+ export interface ICidadeCache extends Document {
16
+ configId: string;
17
+ cidadeNome: string;
18
+ /** Catálogo completo de facções da cidade (inclui a própria) */
19
+ faccoes: ICidadeCacheFaccao[];
20
+ /** Nome da própria facção dentro do catálogo (Servidor.faccaoNome) */
21
+ minhaFaccaoNome?: string;
22
+ /** Cargo Discord da própria facção — denormalizado pra não precisar buscar em `faccoes` */
23
+ minhaFaccaoCargoId?: string;
24
+ atualizadoEm: Date;
25
+ }
26
+ export declare const CidadeCacheSchema: mongoose.Schema<ICidadeCache, mongoose.Model<ICidadeCache, any, any, any, any, any, ICidadeCache>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
27
+ id: string;
28
+ }, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
29
+ _id: mongoose.Types.ObjectId;
30
+ }> & {
31
+ __v: number;
32
+ }, "id"> & {
33
+ id: string;
34
+ }, {
35
+ _id?: mongoose.SchemaDefinitionProperty<mongoose.Types.ObjectId, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
36
+ id: string;
37
+ }, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
38
+ _id: mongoose.Types.ObjectId;
39
+ }> & {
40
+ __v: number;
41
+ }, "id"> & {
42
+ id: string;
43
+ }> | undefined;
44
+ configId?: mongoose.SchemaDefinitionProperty<string, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
45
+ id: string;
46
+ }, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
47
+ _id: mongoose.Types.ObjectId;
48
+ }> & {
49
+ __v: number;
50
+ }, "id"> & {
51
+ id: string;
52
+ }> | undefined;
53
+ atualizadoEm?: mongoose.SchemaDefinitionProperty<Date, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
54
+ id: string;
55
+ }, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
56
+ _id: mongoose.Types.ObjectId;
57
+ }> & {
58
+ __v: number;
59
+ }, "id"> & {
60
+ id: string;
61
+ }> | undefined;
62
+ faccoes?: mongoose.SchemaDefinitionProperty<ICidadeCacheFaccao[], ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
63
+ id: string;
64
+ }, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
65
+ _id: mongoose.Types.ObjectId;
66
+ }> & {
67
+ __v: number;
68
+ }, "id"> & {
69
+ id: string;
70
+ }> | undefined;
71
+ cidadeNome?: mongoose.SchemaDefinitionProperty<string, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
72
+ id: string;
73
+ }, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
74
+ _id: mongoose.Types.ObjectId;
75
+ }> & {
76
+ __v: number;
77
+ }, "id"> & {
78
+ id: string;
79
+ }> | undefined;
80
+ minhaFaccaoNome?: mongoose.SchemaDefinitionProperty<string | undefined, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
81
+ id: string;
82
+ }, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
83
+ _id: mongoose.Types.ObjectId;
84
+ }> & {
85
+ __v: number;
86
+ }, "id"> & {
87
+ id: string;
88
+ }> | undefined;
89
+ minhaFaccaoCargoId?: mongoose.SchemaDefinitionProperty<string | undefined, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
90
+ id: string;
91
+ }, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
92
+ _id: mongoose.Types.ObjectId;
93
+ }> & {
94
+ __v: number;
95
+ }, "id"> & {
96
+ id: string;
97
+ }> | undefined;
98
+ }, ICidadeCache>;
99
+ export declare const CidadeCacheModel: mongoose.Model<ICidadeCache, {}, {}, {}, mongoose.Document<unknown, {}, ICidadeCache, {}, mongoose.DefaultSchemaOptions> & ICidadeCache & Required<{
100
+ _id: mongoose.Types.ObjectId;
101
+ }> & {
102
+ __v: number;
103
+ } & {
104
+ id: string;
105
+ }, any, ICidadeCache>;
@@ -0,0 +1,14 @@
1
+ import mongoose, { Schema } from "mongoose";
2
+ const CidadeCacheFaccaoSchema = new Schema({
3
+ nome: { type: String, required: true },
4
+ cargoFaccaoId: { type: String, required: true },
5
+ }, { _id: false });
6
+ export const CidadeCacheSchema = new Schema({
7
+ configId: { type: String, default: "main", unique: true },
8
+ cidadeNome: { type: String, required: true },
9
+ faccoes: { type: [CidadeCacheFaccaoSchema], default: [] },
10
+ minhaFaccaoNome: { type: String },
11
+ minhaFaccaoCargoId: { type: String },
12
+ atualizadoEm: { type: Date, default: Date.now },
13
+ });
14
+ export const CidadeCacheModel = mongoose.model("CidadeCache", CidadeCacheSchema);
@@ -22,6 +22,8 @@ export { CargoConfigModel } from "./CargoConfig.js";
22
22
  export type { ICargoConfig } from "./CargoConfig.js";
23
23
  export { CidadeModel, CidadeSchema } from "./Cidade.js";
24
24
  export type { ICidade, ICidadeCanal, ICidadeFaccao } from "./Cidade.js";
25
+ export { CidadeCacheModel, CidadeCacheSchema } from "./CidadeCache.js";
26
+ export type { ICidadeCache, ICidadeCacheFaccao } from "./CidadeCache.js";
25
27
  export { CraftConfigModel } from "./CraftConfig.js";
26
28
  export type { ICraftConfig } from "./CraftConfig.js";
27
29
  export { FarmModel } from "./Farm.js";
@@ -10,6 +10,7 @@ export { Caixa2ItemModel, Caixa2ItemSchema } from "./Caixa2Item.js";
10
10
  export { CanalConfigModel } from "./CanalConfig.js";
11
11
  export { CargoConfigModel } from "./CargoConfig.js";
12
12
  export { CidadeModel, CidadeSchema } from "./Cidade.js";
13
+ export { CidadeCacheModel, CidadeCacheSchema } from "./CidadeCache.js";
13
14
  export { CraftConfigModel } from "./CraftConfig.js";
14
15
  export { FarmModel } from "./Farm.js";
15
16
  export { FarmValidacaoStateModel } from "./FarmValidacaoState.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fac-shared-db",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "type": "module",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",