fac-shared-db 1.5.0 → 1.7.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.
package/README.md CHANGED
@@ -33,6 +33,7 @@ O script `prepare` compila o TypeScript automaticamente após `npm install`.
33
33
  | `AcaoMarcadaModel` | `acaomarcadas` | Ação escalada no canal de escalação (participantes, escalados, resultado) |
34
34
  | `AcoesConfigModel` | `acoesconfigs` | Singleton: ações disponíveis + calendário semanal |
35
35
  | `AdvertenciaModel` | `advertencias` | Advertências aplicadas a membros (nível, tipo, vencimento) |
36
+ | `BaqueMarcadoModel` | `baquesmarcados` (override explícito) | Baque marcado por uma facção contra outra, dentro da mesma cidade |
36
37
  | `AntiGrabberConfigModel` | `antigrabberconfigs` | Singleton: config do anti-spam de anexos |
37
38
  | `BindsRoupaConfigModel` | `bindsroupaconfigs` | Singleton: grupos de binds de roupa por cargo |
38
39
  | `BlacklistModel` | `blacklist` (override explícito) | Banimento de jogadores, com TTL automático |
@@ -48,7 +49,6 @@ O script `prepare` compila o TypeScript automaticamente após `npm install`.
48
49
  | `MensagemRecrutamentoModel` | `mensagemrecrutamentos` | Singleton (`_id: "RECRUTAMENTO"`): texto de recrutamento vigente |
49
50
  | `MensagemRotacaoModel` | `mensagemrotacaos` | Mensagens que rotacionam em canais |
50
51
  | `RegistroOlheiroModel` | `registroolheiros` | Registro de olheiro/recrutamento |
51
- | `UpRegistroModel` | `upregistros` | Registro de promoção (UP) de membro |
52
52
  | `VendaModel` | `vendas` | Registro de venda de munição |
53
53
  | `VendaConfigModel` | `vendaconfigs` | Singleton: preços e comissão de venda |
54
54
  | `KeyValueModel` | `keyvalues` | Storage genérico key-value |
@@ -0,0 +1,155 @@
1
+ import mongoose, { type Document } from "mongoose";
2
+ /**
3
+ * Registro de um baque marcado por uma facção contra outra, dentro da mesma
4
+ * cidade. Salvo pelo bot da facção desafiadora (ex: fac-assist-bot) — lido
5
+ * depois pelo self-bot (fac-helper-bot) pra anunciar no canal MARCAR_BAQUE
6
+ * da Cidade (ver Cidade.canais em fac-shared-db).
7
+ */
8
+ export interface IBaqueMarcado extends Document {
9
+ /** Nome da facção desafiada (Cidade.faccoes[].nome) */
10
+ baqueContraNome: string;
11
+ /** Cargo Discord da facção desafiada */
12
+ baqueContraCargoId: string;
13
+ /** Nome da facção desafiadora — sempre a facção dona do servidor que solicitou */
14
+ desafiadorNome: string;
15
+ /** Cargo Discord da facção desafiadora */
16
+ desafiadorCargoId: string;
17
+ /** Data do baque (dd/mm) */
18
+ data: string;
19
+ /** Hora do baque (hh:mm) */
20
+ hora: string;
21
+ /** Tipo de aposta */
22
+ aposta: string;
23
+ /** Discord ID de quem marcou */
24
+ criadoPor: string;
25
+ criadoEm: Date;
26
+ /** ID da mensagem do anúncio no canal MARCAR_BAQUE, depois de enviado pelo self-bot */
27
+ mensagemId?: string;
28
+ /** "pendente" até o self-bot anunciar no canal da cidade; "enviado" depois */
29
+ status: "pendente" | "enviado";
30
+ }
31
+ export declare const BaqueMarcadoSchema: mongoose.Schema<IBaqueMarcado, mongoose.Model<IBaqueMarcado, any, any, any, any, any, IBaqueMarcado>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
32
+ id: string;
33
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
34
+ _id: mongoose.Types.ObjectId;
35
+ }> & {
36
+ __v: number;
37
+ }, "id"> & {
38
+ id: string;
39
+ }, {
40
+ _id?: mongoose.SchemaDefinitionProperty<mongoose.Types.ObjectId, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
41
+ id: string;
42
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
43
+ _id: mongoose.Types.ObjectId;
44
+ }> & {
45
+ __v: number;
46
+ }, "id"> & {
47
+ id: string;
48
+ }> | undefined;
49
+ data?: mongoose.SchemaDefinitionProperty<string, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
50
+ id: string;
51
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
52
+ _id: mongoose.Types.ObjectId;
53
+ }> & {
54
+ __v: number;
55
+ }, "id"> & {
56
+ id: string;
57
+ }> | undefined;
58
+ hora?: mongoose.SchemaDefinitionProperty<string, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
59
+ id: string;
60
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
61
+ _id: mongoose.Types.ObjectId;
62
+ }> & {
63
+ __v: number;
64
+ }, "id"> & {
65
+ id: string;
66
+ }> | undefined;
67
+ criadoPor?: mongoose.SchemaDefinitionProperty<string, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
68
+ id: string;
69
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
70
+ _id: mongoose.Types.ObjectId;
71
+ }> & {
72
+ __v: number;
73
+ }, "id"> & {
74
+ id: string;
75
+ }> | undefined;
76
+ mensagemId?: mongoose.SchemaDefinitionProperty<string | undefined, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
77
+ id: string;
78
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
79
+ _id: mongoose.Types.ObjectId;
80
+ }> & {
81
+ __v: number;
82
+ }, "id"> & {
83
+ id: string;
84
+ }> | undefined;
85
+ criadoEm?: mongoose.SchemaDefinitionProperty<Date, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
86
+ id: string;
87
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
88
+ _id: mongoose.Types.ObjectId;
89
+ }> & {
90
+ __v: number;
91
+ }, "id"> & {
92
+ id: string;
93
+ }> | undefined;
94
+ baqueContraNome?: mongoose.SchemaDefinitionProperty<string, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
95
+ id: string;
96
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
97
+ _id: mongoose.Types.ObjectId;
98
+ }> & {
99
+ __v: number;
100
+ }, "id"> & {
101
+ id: string;
102
+ }> | undefined;
103
+ baqueContraCargoId?: mongoose.SchemaDefinitionProperty<string, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
104
+ id: string;
105
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
106
+ _id: mongoose.Types.ObjectId;
107
+ }> & {
108
+ __v: number;
109
+ }, "id"> & {
110
+ id: string;
111
+ }> | undefined;
112
+ desafiadorNome?: mongoose.SchemaDefinitionProperty<string, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
113
+ id: string;
114
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
115
+ _id: mongoose.Types.ObjectId;
116
+ }> & {
117
+ __v: number;
118
+ }, "id"> & {
119
+ id: string;
120
+ }> | undefined;
121
+ desafiadorCargoId?: mongoose.SchemaDefinitionProperty<string, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
122
+ id: string;
123
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
124
+ _id: mongoose.Types.ObjectId;
125
+ }> & {
126
+ __v: number;
127
+ }, "id"> & {
128
+ id: string;
129
+ }> | undefined;
130
+ aposta?: mongoose.SchemaDefinitionProperty<string, IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
131
+ id: string;
132
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
133
+ _id: mongoose.Types.ObjectId;
134
+ }> & {
135
+ __v: number;
136
+ }, "id"> & {
137
+ id: string;
138
+ }> | undefined;
139
+ status?: mongoose.SchemaDefinitionProperty<"pendente" | "enviado", IBaqueMarcado, mongoose.Document<unknown, {}, IBaqueMarcado, {
140
+ id: string;
141
+ }, mongoose.DefaultSchemaOptions> & Omit<IBaqueMarcado & Required<{
142
+ _id: mongoose.Types.ObjectId;
143
+ }> & {
144
+ __v: number;
145
+ }, "id"> & {
146
+ id: string;
147
+ }> | undefined;
148
+ }, IBaqueMarcado>;
149
+ export declare const BaqueMarcadoModel: mongoose.Model<IBaqueMarcado, {}, {}, {}, mongoose.Document<unknown, {}, IBaqueMarcado, {}, mongoose.DefaultSchemaOptions> & IBaqueMarcado & Required<{
150
+ _id: mongoose.Types.ObjectId;
151
+ }> & {
152
+ __v: number;
153
+ } & {
154
+ id: string;
155
+ }, any, IBaqueMarcado>;
@@ -0,0 +1,15 @@
1
+ import mongoose, { Schema } from "mongoose";
2
+ export const BaqueMarcadoSchema = new Schema({
3
+ baqueContraNome: { type: String, required: true },
4
+ baqueContraCargoId: { type: String, required: true },
5
+ desafiadorNome: { type: String, required: true },
6
+ desafiadorCargoId: { type: String, required: true },
7
+ data: { type: String, required: true },
8
+ hora: { type: String, required: true },
9
+ aposta: { type: String, required: true },
10
+ criadoPor: { type: String, required: true, index: true },
11
+ criadoEm: { type: Date, default: Date.now },
12
+ mensagemId: { type: String },
13
+ status: { type: String, default: "pendente", enum: ["pendente", "enviado"], index: true },
14
+ }, { collection: "baquesmarcados" });
15
+ export const BaqueMarcadoModel = mongoose.model("BaqueMarcado", BaqueMarcadoSchema);
@@ -4,6 +4,8 @@ export { AcoesConfigModel, AcoesConfigSchema } from "./AcoesConfig.js";
4
4
  export type { IAcoesConfig } from "./AcoesConfig.js";
5
5
  export { AdvertenciaModel } from "./Advertencia.js";
6
6
  export type { IAdvertencia, TipoAdvertencia } from "./Advertencia.js";
7
+ export { BaqueMarcadoModel, BaqueMarcadoSchema } from "./BaqueMarcado.js";
8
+ export type { IBaqueMarcado } from "./BaqueMarcado.js";
7
9
  export { AntiGrabberConfigModel } from "./AntiGrabberConfig.js";
8
10
  export type { IAntiGrabberConfig } from "./AntiGrabberConfig.js";
9
11
  export { BindsRoupaConfigModel } from "./BindsRoupaConfig.js";
@@ -36,8 +38,6 @@ export { MensagemRotacaoModel } from "./MensagemRotacao.js";
36
38
  export type { IMensagemRotacao } from "./MensagemRotacao.js";
37
39
  export { ServidorModel, ServidorSchema } from "./Servidor.js";
38
40
  export type { IServidor } from "./Servidor.js";
39
- export { MarcarAcaoGuildConfigModel, MarcarAcaoGuildConfigSchema } from "./MarcarAcaoGuildConfig.js";
40
- export type { IMarcarAcaoGuildConfig } from "./MarcarAcaoGuildConfig.js";
41
41
  export { PedirRecGuildConfigModel, PedirRecGuildConfigSchema } from "./PedirRecGuildConfig.js";
42
42
  export type { IPedirRecGuildConfig } from "./PedirRecGuildConfig.js";
43
43
  export { LogsExporterGuildConfigModel, LogsExporterGuildConfigSchema } from "./LogsExporterGuildConfig.js";
@@ -46,8 +46,6 @@ export { RegistroOlheiroModel } from "./RegistroOlheiro.js";
46
46
  export type { IRegistroOlheiro } from "./RegistroOlheiro.js";
47
47
  export { SolicitacaoUpModel } from "./SolicitacaoUp.js";
48
48
  export type { ISolicitacaoUp } from "./SolicitacaoUp.js";
49
- export { UpRegistroModel } from "./UpRegistro.js";
50
- export type { IUpRegistro } from "./UpRegistro.js";
51
49
  export { VendaModel } from "./Venda.js";
52
50
  export type { IVenda } from "./Venda.js";
53
51
  export { VendaConfigModel } from "./VendaConfig.js";
@@ -1,6 +1,7 @@
1
1
  export { AcaoMarcadaModel, AcaoMarcadaSchema } from "./AcaoMarcada.js";
2
2
  export { AcoesConfigModel, AcoesConfigSchema } from "./AcoesConfig.js";
3
3
  export { AdvertenciaModel } from "./Advertencia.js";
4
+ export { BaqueMarcadoModel, BaqueMarcadoSchema } from "./BaqueMarcado.js";
4
5
  export { AntiGrabberConfigModel } from "./AntiGrabberConfig.js";
5
6
  export { BindsRoupaConfigModel } from "./BindsRoupaConfig.js";
6
7
  export { BlacklistModel, BlacklistSchema } from "./Blacklist.js";
@@ -17,12 +18,10 @@ export { MembroCadastroModel } from "./MembroCadastro.js";
17
18
  export { MensagemRecrutamentoModel, MensagemRecrutamentoSchema } from "./MensagemRecrutamento.js";
18
19
  export { MensagemRotacaoModel } from "./MensagemRotacao.js";
19
20
  export { ServidorModel, ServidorSchema } from "./Servidor.js";
20
- export { MarcarAcaoGuildConfigModel, MarcarAcaoGuildConfigSchema } from "./MarcarAcaoGuildConfig.js";
21
21
  export { PedirRecGuildConfigModel, PedirRecGuildConfigSchema } from "./PedirRecGuildConfig.js";
22
22
  export { LogsExporterGuildConfigModel, LogsExporterGuildConfigSchema } from "./LogsExporterGuildConfig.js";
23
23
  export { RegistroOlheiroModel } from "./RegistroOlheiro.js";
24
24
  export { SolicitacaoUpModel } from "./SolicitacaoUp.js";
25
- export { UpRegistroModel } from "./UpRegistro.js";
26
25
  export { VendaModel } from "./Venda.js";
27
26
  export { VendaConfigModel } from "./VendaConfig.js";
28
27
  export { KeyValueModel, KeyValueSchema } from "./KeyValue.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fac-shared-db",
3
- "version": "1.5.0",
3
+ "version": "1.7.0",
4
4
  "type": "module",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1,74 +0,0 @@
1
- import mongoose, { type Document } from "mongoose";
2
- /**
3
- * Config do domínio marcarAcao (fac-helper-bot), por tenant — vive dentro do
4
- * banco do próprio cliente (mesmo padrão de BotConfig/CanalConfig). Singleton
5
- * via configId fixo, vinculado a uma connection alternativa via modelOn().
6
- */
7
- export interface IMarcarAcaoGuildConfig extends Document {
8
- configId: string;
9
- channelId: string;
10
- cargoFaccaoId: string;
11
- cargoMentionId: string;
12
- }
13
- export declare const MarcarAcaoGuildConfigSchema: mongoose.Schema<IMarcarAcaoGuildConfig, mongoose.Model<IMarcarAcaoGuildConfig, any, any, any, any, any, IMarcarAcaoGuildConfig>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, IMarcarAcaoGuildConfig, mongoose.Document<unknown, {}, IMarcarAcaoGuildConfig, {
14
- id: string;
15
- }, mongoose.DefaultSchemaOptions> & Omit<IMarcarAcaoGuildConfig & Required<{
16
- _id: mongoose.Types.ObjectId;
17
- }> & {
18
- __v: number;
19
- }, "id"> & {
20
- id: string;
21
- }, {
22
- _id?: mongoose.SchemaDefinitionProperty<mongoose.Types.ObjectId, IMarcarAcaoGuildConfig, mongoose.Document<unknown, {}, IMarcarAcaoGuildConfig, {
23
- id: string;
24
- }, mongoose.DefaultSchemaOptions> & Omit<IMarcarAcaoGuildConfig & Required<{
25
- _id: mongoose.Types.ObjectId;
26
- }> & {
27
- __v: number;
28
- }, "id"> & {
29
- id: string;
30
- }> | undefined;
31
- configId?: mongoose.SchemaDefinitionProperty<string, IMarcarAcaoGuildConfig, mongoose.Document<unknown, {}, IMarcarAcaoGuildConfig, {
32
- id: string;
33
- }, mongoose.DefaultSchemaOptions> & Omit<IMarcarAcaoGuildConfig & Required<{
34
- _id: mongoose.Types.ObjectId;
35
- }> & {
36
- __v: number;
37
- }, "id"> & {
38
- id: string;
39
- }> | undefined;
40
- channelId?: mongoose.SchemaDefinitionProperty<string, IMarcarAcaoGuildConfig, mongoose.Document<unknown, {}, IMarcarAcaoGuildConfig, {
41
- id: string;
42
- }, mongoose.DefaultSchemaOptions> & Omit<IMarcarAcaoGuildConfig & Required<{
43
- _id: mongoose.Types.ObjectId;
44
- }> & {
45
- __v: number;
46
- }, "id"> & {
47
- id: string;
48
- }> | undefined;
49
- cargoFaccaoId?: mongoose.SchemaDefinitionProperty<string, IMarcarAcaoGuildConfig, mongoose.Document<unknown, {}, IMarcarAcaoGuildConfig, {
50
- id: string;
51
- }, mongoose.DefaultSchemaOptions> & Omit<IMarcarAcaoGuildConfig & Required<{
52
- _id: mongoose.Types.ObjectId;
53
- }> & {
54
- __v: number;
55
- }, "id"> & {
56
- id: string;
57
- }> | undefined;
58
- cargoMentionId?: mongoose.SchemaDefinitionProperty<string, IMarcarAcaoGuildConfig, mongoose.Document<unknown, {}, IMarcarAcaoGuildConfig, {
59
- id: string;
60
- }, mongoose.DefaultSchemaOptions> & Omit<IMarcarAcaoGuildConfig & Required<{
61
- _id: mongoose.Types.ObjectId;
62
- }> & {
63
- __v: number;
64
- }, "id"> & {
65
- id: string;
66
- }> | undefined;
67
- }, IMarcarAcaoGuildConfig>;
68
- export declare const MarcarAcaoGuildConfigModel: mongoose.Model<IMarcarAcaoGuildConfig, {}, {}, {}, mongoose.Document<unknown, {}, IMarcarAcaoGuildConfig, {}, mongoose.DefaultSchemaOptions> & IMarcarAcaoGuildConfig & Required<{
69
- _id: mongoose.Types.ObjectId;
70
- }> & {
71
- __v: number;
72
- } & {
73
- id: string;
74
- }, any, IMarcarAcaoGuildConfig>;
@@ -1,8 +0,0 @@
1
- import mongoose, { Schema } from "mongoose";
2
- export const MarcarAcaoGuildConfigSchema = new Schema({
3
- configId: { type: String, default: "main", unique: true },
4
- channelId: { type: String, required: true },
5
- cargoFaccaoId: { type: String, required: true },
6
- cargoMentionId: { type: String, required: true },
7
- });
8
- export const MarcarAcaoGuildConfigModel = mongoose.model("MarcarAcaoGuildConfig", MarcarAcaoGuildConfigSchema);
@@ -1,20 +0,0 @@
1
- import mongoose, { Document } from "mongoose";
2
- export interface IUpRegistro extends Document {
3
- /** Discord ID do solicitante (gerente que pediu o UP) */
4
- solicitanteId: string;
5
- /** Discord ID do membro promovido */
6
- membroId: string;
7
- /** ID do cargo para o qual foi promovido */
8
- cargoSolicitadoId: string;
9
- /** Discord ID de quem aprovou o UP */
10
- aprovadoPorId?: string;
11
- /** Data da aprovação */
12
- aprovadoEm: Date;
13
- }
14
- export declare const UpRegistroModel: mongoose.Model<IUpRegistro, {}, {}, {}, mongoose.Document<unknown, {}, IUpRegistro, {}, mongoose.DefaultSchemaOptions> & IUpRegistro & Required<{
15
- _id: mongoose.Types.ObjectId;
16
- }> & {
17
- __v: number;
18
- } & {
19
- id: string;
20
- }, any, IUpRegistro>;
@@ -1,10 +0,0 @@
1
- import mongoose, { Schema } from "mongoose";
2
- const UpRegistroSchema = new Schema({
3
- solicitanteId: { type: String, required: true, index: true },
4
- membroId: { type: String, required: true },
5
- cargoSolicitadoId: { type: String, required: true },
6
- aprovadoPorId: { type: String, index: true },
7
- aprovadoEm: { type: Date, default: Date.now, index: true },
8
- });
9
- UpRegistroSchema.index({ solicitanteId: 1, aprovadoEm: 1 });
10
- export const UpRegistroModel = mongoose.model("UpRegistro", UpRegistroSchema);