@luxorbots/fac-shared-db 1.27.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 +62 -0
- package/dist/connection.d.ts +16 -0
- package/dist/connection.js +23 -0
- package/dist/connection.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/models/AcaoMarcada.d.ts +165 -0
- package/dist/models/AcaoMarcada.js +24 -0
- package/dist/models/AcaoMarcada.js.map +1 -0
- package/dist/models/AcoesConfig.d.ts +83 -0
- package/dist/models/AcoesConfig.js +36 -0
- package/dist/models/AcoesConfig.js.map +1 -0
- package/dist/models/Advertencia.d.ts +46 -0
- package/dist/models/Advertencia.js +22 -0
- package/dist/models/Advertencia.js.map +1 -0
- package/dist/models/BaqueMarcado.d.ts +387 -0
- package/dist/models/BaqueMarcado.js +42 -0
- package/dist/models/BaqueMarcado.js.map +1 -0
- package/dist/models/Blacklist.d.ts +106 -0
- package/dist/models/Blacklist.js +12 -0
- package/dist/models/Blacklist.js.map +1 -0
- package/dist/models/BotConfig.d.ts +62 -0
- package/dist/models/BotConfig.js +53 -0
- package/dist/models/BotConfig.js.map +1 -0
- package/dist/models/Caixa2Item.d.ts +69 -0
- package/dist/models/Caixa2Item.js +9 -0
- package/dist/models/Caixa2Item.js.map +1 -0
- package/dist/models/CanalConfig.d.ts +19 -0
- package/dist/models/CanalConfig.js +10 -0
- package/dist/models/CanalConfig.js.map +1 -0
- package/dist/models/CargoConfig.d.ts +18 -0
- package/dist/models/CargoConfig.js +13 -0
- package/dist/models/CargoConfig.js.map +1 -0
- package/dist/models/Cidade.d.ts +160 -0
- package/dist/models/Cidade.js +24 -0
- package/dist/models/Cidade.js.map +1 -0
- package/dist/models/CidadeCache.d.ts +127 -0
- package/dist/models/CidadeCache.js +17 -0
- package/dist/models/CidadeCache.js.map +1 -0
- package/dist/models/CraftConfig.d.ts +41 -0
- package/dist/models/CraftConfig.js +34 -0
- package/dist/models/CraftConfig.js.map +1 -0
- package/dist/models/Farm.d.ts +24 -0
- package/dist/models/Farm.js +20 -0
- package/dist/models/Farm.js.map +1 -0
- package/dist/models/FarmValidacaoState.d.ts +47 -0
- package/dist/models/FarmValidacaoState.js +31 -0
- package/dist/models/FarmValidacaoState.js.map +1 -0
- package/dist/models/FeatureTogglesConfig.d.ts +54 -0
- package/dist/models/FeatureTogglesConfig.js +7 -0
- package/dist/models/FeatureTogglesConfig.js.map +1 -0
- package/dist/models/History.d.ts +14 -0
- package/dist/models/History.js +8 -0
- package/dist/models/History.js.map +1 -0
- package/dist/models/KeyValue.d.ts +41 -0
- package/dist/models/KeyValue.js +7 -0
- package/dist/models/KeyValue.js.map +1 -0
- package/dist/models/LoadRequest.d.ts +95 -0
- package/dist/models/LoadRequest.js +25 -0
- package/dist/models/LoadRequest.js.map +1 -0
- package/dist/models/LogsExporterGuildConfig.d.ts +126 -0
- package/dist/models/LogsExporterGuildConfig.js +26 -0
- package/dist/models/LogsExporterGuildConfig.js.map +1 -0
- package/dist/models/MembroCadastro.d.ts +16 -0
- package/dist/models/MembroCadastro.js +10 -0
- package/dist/models/MembroCadastro.js.map +1 -0
- package/dist/models/MensagemRecrutamento.d.ts +71 -0
- package/dist/models/MensagemRecrutamento.js +10 -0
- package/dist/models/MensagemRecrutamento.js.map +1 -0
- package/dist/models/MensagemRotacao.d.ts +18 -0
- package/dist/models/MensagemRotacao.js +12 -0
- package/dist/models/MensagemRotacao.js.map +1 -0
- package/dist/models/PedirRecGuildConfig.d.ts +153 -0
- package/dist/models/PedirRecGuildConfig.js +17 -0
- package/dist/models/PedirRecGuildConfig.js.map +1 -0
- package/dist/models/RegistroOlheiro.d.ts +34 -0
- package/dist/models/RegistroOlheiro.js +25 -0
- package/dist/models/RegistroOlheiro.js.map +1 -0
- package/dist/models/Servidor.d.ts +145 -0
- package/dist/models/Servidor.js +15 -0
- package/dist/models/Servidor.js.map +1 -0
- package/dist/models/SolicitacaoUp.d.ts +29 -0
- package/dist/models/SolicitacaoUp.js +23 -0
- package/dist/models/SolicitacaoUp.js.map +1 -0
- package/dist/models/Venda.d.ts +22 -0
- package/dist/models/Venda.js +14 -0
- package/dist/models/Venda.js.map +1 -0
- package/dist/models/VendaConfig.d.ts +23 -0
- package/dist/models/VendaConfig.js +16 -0
- package/dist/models/VendaConfig.js.map +1 -0
- package/dist/models/index.d.ts +56 -0
- package/dist/models/index.js +29 -0
- package/dist/models/index.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BotConfig.js","sourceRoot":"","sources":["../../src/models/BotConfig.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAC;AAmF3D,MAAM,eAAe,GAAG,IAAI,MAAM,CAAa;IAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAEzD,OAAO;IACP,kBAAkB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;IAEhD,eAAe;IACf,0BAA0B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IACzD,sBAAsB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;IAEpD,WAAW;IACX,yBAAyB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,oBAAoB;IAE7E,eAAe;IACf,6BAA6B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;IAEjE,gCAAgC;IAChC,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;IAEjD,wBAAwB;IACxB,yBAAyB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;IAE7D,oBAAoB;IACpB,cAAc,EAAE;QACd,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACtC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACvC,KAAK,EAAE;oBACL,IAAI,EAAE;wBACJ;4BACE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;4BACzC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;4BAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;yBACvC;qBACF;oBACD,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;QACD,OAAO,EAAE,EAAE;KACZ;IAED,YAAY;IACZ,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACrD,8BAA8B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7D,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAE/C,eAAe;IACf,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACxD,0BAA0B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;IAE1D,oCAAoC;IACpC,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAErD,mBAAmB;IACnB,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE;IAEhE,YAAY;IACZ,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAa,WAAW,EAAE,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import mongoose, { type Document } from "mongoose";
|
|
2
|
+
export interface ICaixa2Item extends Document {
|
|
3
|
+
nome: string;
|
|
4
|
+
emoji: string;
|
|
5
|
+
minAdv: number;
|
|
6
|
+
maxAdv: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const Caixa2ItemSchema: mongoose.Schema<ICaixa2Item, mongoose.Model<ICaixa2Item, any, any, any, any, any, ICaixa2Item>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ICaixa2Item, mongoose.Document<unknown, {}, ICaixa2Item, {
|
|
9
|
+
id: string;
|
|
10
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICaixa2Item & Required<{
|
|
11
|
+
_id: mongoose.Types.ObjectId;
|
|
12
|
+
}> & {
|
|
13
|
+
__v: number;
|
|
14
|
+
}, "id"> & {
|
|
15
|
+
id: string;
|
|
16
|
+
}, {
|
|
17
|
+
_id?: mongoose.SchemaDefinitionProperty<mongoose.Types.ObjectId, ICaixa2Item, mongoose.Document<unknown, {}, ICaixa2Item, {
|
|
18
|
+
id: string;
|
|
19
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICaixa2Item & Required<{
|
|
20
|
+
_id: mongoose.Types.ObjectId;
|
|
21
|
+
}> & {
|
|
22
|
+
__v: number;
|
|
23
|
+
}, "id"> & {
|
|
24
|
+
id: string;
|
|
25
|
+
}>;
|
|
26
|
+
nome?: mongoose.SchemaDefinitionProperty<string, ICaixa2Item, mongoose.Document<unknown, {}, ICaixa2Item, {
|
|
27
|
+
id: string;
|
|
28
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICaixa2Item & Required<{
|
|
29
|
+
_id: mongoose.Types.ObjectId;
|
|
30
|
+
}> & {
|
|
31
|
+
__v: number;
|
|
32
|
+
}, "id"> & {
|
|
33
|
+
id: string;
|
|
34
|
+
}>;
|
|
35
|
+
emoji?: mongoose.SchemaDefinitionProperty<string, ICaixa2Item, mongoose.Document<unknown, {}, ICaixa2Item, {
|
|
36
|
+
id: string;
|
|
37
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICaixa2Item & Required<{
|
|
38
|
+
_id: mongoose.Types.ObjectId;
|
|
39
|
+
}> & {
|
|
40
|
+
__v: number;
|
|
41
|
+
}, "id"> & {
|
|
42
|
+
id: string;
|
|
43
|
+
}>;
|
|
44
|
+
minAdv?: mongoose.SchemaDefinitionProperty<number, ICaixa2Item, mongoose.Document<unknown, {}, ICaixa2Item, {
|
|
45
|
+
id: string;
|
|
46
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICaixa2Item & Required<{
|
|
47
|
+
_id: mongoose.Types.ObjectId;
|
|
48
|
+
}> & {
|
|
49
|
+
__v: number;
|
|
50
|
+
}, "id"> & {
|
|
51
|
+
id: string;
|
|
52
|
+
}>;
|
|
53
|
+
maxAdv?: mongoose.SchemaDefinitionProperty<number, ICaixa2Item, mongoose.Document<unknown, {}, ICaixa2Item, {
|
|
54
|
+
id: string;
|
|
55
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICaixa2Item & Required<{
|
|
56
|
+
_id: mongoose.Types.ObjectId;
|
|
57
|
+
}> & {
|
|
58
|
+
__v: number;
|
|
59
|
+
}, "id"> & {
|
|
60
|
+
id: string;
|
|
61
|
+
}>;
|
|
62
|
+
}, ICaixa2Item>;
|
|
63
|
+
export declare const Caixa2ItemModel: mongoose.Model<ICaixa2Item, {}, {}, {}, mongoose.Document<unknown, {}, ICaixa2Item, {}, mongoose.DefaultSchemaOptions> & ICaixa2Item & Required<{
|
|
64
|
+
_id: mongoose.Types.ObjectId;
|
|
65
|
+
}> & {
|
|
66
|
+
__v: number;
|
|
67
|
+
} & {
|
|
68
|
+
id: string;
|
|
69
|
+
}, any, ICaixa2Item>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import mongoose, { Schema } from "mongoose";
|
|
2
|
+
export const Caixa2ItemSchema = new Schema({
|
|
3
|
+
nome: { type: String, required: true, unique: true },
|
|
4
|
+
emoji: { type: String, required: true },
|
|
5
|
+
minAdv: { type: Number, required: true },
|
|
6
|
+
maxAdv: { type: Number, required: true },
|
|
7
|
+
}, { collection: "caixa2itens" });
|
|
8
|
+
export const Caixa2ItemModel = mongoose.model("Caixa2Item", Caixa2ItemSchema);
|
|
9
|
+
//# sourceMappingURL=Caixa2Item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Caixa2Item.js","sourceRoot":"","sources":["../../src/models/Caixa2Item.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAC;AAS3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACxC;IACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACpD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;CACzC,EACD,EAAE,UAAU,EAAE,aAAa,EAAE,CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAc,YAAY,EAAE,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ICanalConfig {
|
|
2
|
+
/** Chave lógica usada como _id (ex: "CANAL_ENTREGA_FARM") */
|
|
3
|
+
_id: string;
|
|
4
|
+
/** ID do canal Discord (snowflake). Vazio = não configurado */
|
|
5
|
+
channelId: string;
|
|
6
|
+
/** Label para exibição no painel admin */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Descrição da funcionalidade do canal */
|
|
9
|
+
descricao: string;
|
|
10
|
+
/** Nome exato do canal no Discord para auto-detect */
|
|
11
|
+
discordName: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const CanalConfigModel: import("mongoose").Model<ICanalConfig, {}, {}, {}, import("mongoose").Document<unknown, {}, ICanalConfig, {}, import("mongoose").DefaultSchemaOptions> & ICanalConfig & Required<{
|
|
14
|
+
_id: string;
|
|
15
|
+
}> & {
|
|
16
|
+
__v: number;
|
|
17
|
+
} & {
|
|
18
|
+
id: string;
|
|
19
|
+
}, any, ICanalConfig>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Schema, model } from "mongoose";
|
|
2
|
+
const CanalConfigSchema = new Schema({
|
|
3
|
+
_id: { type: String },
|
|
4
|
+
channelId: { type: String, default: "" },
|
|
5
|
+
label: { type: String, required: true },
|
|
6
|
+
descricao: { type: String, required: true },
|
|
7
|
+
discordName: { type: String, default: "" },
|
|
8
|
+
}, { timestamps: false, versionKey: false });
|
|
9
|
+
export const CanalConfigModel = model("CanalConfig", CanalConfigSchema);
|
|
10
|
+
//# sourceMappingURL=CanalConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanalConfig.js","sourceRoot":"","sources":["../../src/models/CanalConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAezC,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC;IACE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACrB,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IACxC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;CAC3C,EACD,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAe,aAAa,EAAE,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import mongoose, { type Document } from "mongoose";
|
|
2
|
+
export interface ICargoConfig extends Document {
|
|
3
|
+
key: string;
|
|
4
|
+
/** ID do cargo no Discord (quando sincronizado do servidor) */
|
|
5
|
+
discordRoleId: string;
|
|
6
|
+
nome: string;
|
|
7
|
+
sigla: string;
|
|
8
|
+
ordem: number;
|
|
9
|
+
/** Tags de permissão/grupo ativas para este cargo */
|
|
10
|
+
tags: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare const CargoConfigModel: mongoose.Model<ICargoConfig, {}, {}, {}, mongoose.Document<unknown, {}, ICargoConfig, {}, mongoose.DefaultSchemaOptions> & ICargoConfig & Required<{
|
|
13
|
+
_id: mongoose.Types.ObjectId;
|
|
14
|
+
}> & {
|
|
15
|
+
__v: number;
|
|
16
|
+
} & {
|
|
17
|
+
id: string;
|
|
18
|
+
}, any, ICargoConfig>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import mongoose, { Schema } from "mongoose";
|
|
2
|
+
const CargoConfigSchema = new Schema({
|
|
3
|
+
key: { type: String, required: true, unique: true },
|
|
4
|
+
discordRoleId: { type: String, default: "" },
|
|
5
|
+
nome: { type: String, required: true },
|
|
6
|
+
sigla: { type: String, default: "" },
|
|
7
|
+
ordem: { type: Number, required: true },
|
|
8
|
+
tags: { type: [String], default: [] },
|
|
9
|
+
}, { timestamps: true, strict: false });
|
|
10
|
+
CargoConfigSchema.index({ discordRoleId: 1 });
|
|
11
|
+
CargoConfigSchema.index({ ordem: 1 });
|
|
12
|
+
export const CargoConfigModel = mongoose.model("CargoConfig", CargoConfigSchema);
|
|
13
|
+
//# sourceMappingURL=CargoConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CargoConfig.js","sourceRoot":"","sources":["../../src/models/CargoConfig.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAC;AAa3D,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC;IACE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACnD,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IACpC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;CACtC,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CACpC,CAAC;AAEF,iBAAiB,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAe,aAAa,EAAE,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import type { Document } from "mongoose";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
/**
|
|
4
|
+
* Cidade RP (ex: Fluxo Roleplay, Valley Roleplay) — agrupa a config que é
|
|
5
|
+
* compartilhada entre todos os Servidores (facções) que operam nela: guild(s)
|
|
6
|
+
* Discord, cargo de menção fixo das ações, catálogo de cargos de facção e
|
|
7
|
+
* canais centralizados (marcar ação, castigo, etc). Sem isso esses mesmos IDs
|
|
8
|
+
* teriam que ser recadastrados em todo Servidor que atua na mesma cidade.
|
|
9
|
+
* Vive no banco PRÓPRIO do fac-control-bot, igual ao Servidor.
|
|
10
|
+
*/
|
|
11
|
+
export interface ICidadeFaccao {
|
|
12
|
+
/** Nome de exibição da facção (ex: "🧙♀️Lords") */
|
|
13
|
+
nome: string;
|
|
14
|
+
/** ID do cargo Discord dessa facção, dentro do guildId da cidade */
|
|
15
|
+
cargoFaccaoId: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ICidadeCanal {
|
|
18
|
+
/** Chave lógica usada como identificador (ex: "MARCAR_ACAO", "CASTIGO") */
|
|
19
|
+
key: string;
|
|
20
|
+
/** Label para exibição no painel admin */
|
|
21
|
+
label: string;
|
|
22
|
+
/** ID do canal Discord (snowflake). Vazio = não configurado */
|
|
23
|
+
channelId: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ICidade extends Document {
|
|
26
|
+
/** Nome de exibição da cidade (ex: "Fluxo Roleplay") */
|
|
27
|
+
nome: string;
|
|
28
|
+
/** Guild Discord principal — onde vivem os cargos de facção, ações e castigo */
|
|
29
|
+
guildId: string;
|
|
30
|
+
/** Guild Discord dedicado a logs, quando a cidade usa um servidor separado do principal */
|
|
31
|
+
logsGuildId?: string;
|
|
32
|
+
/** Cargo pingado nas mensagens de ação — fixo por cidade (ex: cargo da PM) */
|
|
33
|
+
cargoComandoMilitarId: string;
|
|
34
|
+
/** Catálogo de cargos de facção conhecidos nessa cidade */
|
|
35
|
+
faccoes: ICidadeFaccao[];
|
|
36
|
+
/** Canais centralizados da cidade (marcar ação, castigo, etc) */
|
|
37
|
+
canais: ICidadeCanal[];
|
|
38
|
+
ativo: boolean;
|
|
39
|
+
criadoEm: Date;
|
|
40
|
+
/** Se no futuro, todos os workers do fac-helper-bot ficam pausados pra essa cidade até essa data */
|
|
41
|
+
workersPausedUntil?: Date | null;
|
|
42
|
+
/** Motivo opcional exibido no painel enquanto os workers estiverem pausados */
|
|
43
|
+
workersPausedReason?: string | null;
|
|
44
|
+
}
|
|
45
|
+
export declare const CidadeSchema: mongoose.Schema<ICidade, mongoose.Model<ICidade, any, any, any, any, any, ICidade>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ICidade, Document<unknown, {}, ICidade, {
|
|
46
|
+
id: string;
|
|
47
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
48
|
+
_id: mongoose.Types.ObjectId;
|
|
49
|
+
}> & {
|
|
50
|
+
__v: number;
|
|
51
|
+
}, "id"> & {
|
|
52
|
+
id: string;
|
|
53
|
+
}, {
|
|
54
|
+
_id?: mongoose.SchemaDefinitionProperty<mongoose.Types.ObjectId, ICidade, Document<unknown, {}, ICidade, {
|
|
55
|
+
id: string;
|
|
56
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
57
|
+
_id: mongoose.Types.ObjectId;
|
|
58
|
+
}> & {
|
|
59
|
+
__v: number;
|
|
60
|
+
}, "id"> & {
|
|
61
|
+
id: string;
|
|
62
|
+
}>;
|
|
63
|
+
nome?: mongoose.SchemaDefinitionProperty<string, ICidade, Document<unknown, {}, ICidade, {
|
|
64
|
+
id: string;
|
|
65
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
66
|
+
_id: mongoose.Types.ObjectId;
|
|
67
|
+
}> & {
|
|
68
|
+
__v: number;
|
|
69
|
+
}, "id"> & {
|
|
70
|
+
id: string;
|
|
71
|
+
}>;
|
|
72
|
+
criadoEm?: mongoose.SchemaDefinitionProperty<Date, ICidade, Document<unknown, {}, ICidade, {
|
|
73
|
+
id: string;
|
|
74
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
75
|
+
_id: mongoose.Types.ObjectId;
|
|
76
|
+
}> & {
|
|
77
|
+
__v: number;
|
|
78
|
+
}, "id"> & {
|
|
79
|
+
id: string;
|
|
80
|
+
}>;
|
|
81
|
+
guildId?: mongoose.SchemaDefinitionProperty<string, ICidade, Document<unknown, {}, ICidade, {
|
|
82
|
+
id: string;
|
|
83
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
84
|
+
_id: mongoose.Types.ObjectId;
|
|
85
|
+
}> & {
|
|
86
|
+
__v: number;
|
|
87
|
+
}, "id"> & {
|
|
88
|
+
id: string;
|
|
89
|
+
}>;
|
|
90
|
+
logsGuildId?: mongoose.SchemaDefinitionProperty<string | undefined, ICidade, Document<unknown, {}, ICidade, {
|
|
91
|
+
id: string;
|
|
92
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
93
|
+
_id: mongoose.Types.ObjectId;
|
|
94
|
+
}> & {
|
|
95
|
+
__v: number;
|
|
96
|
+
}, "id"> & {
|
|
97
|
+
id: string;
|
|
98
|
+
}>;
|
|
99
|
+
cargoComandoMilitarId?: mongoose.SchemaDefinitionProperty<string, ICidade, Document<unknown, {}, ICidade, {
|
|
100
|
+
id: string;
|
|
101
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
102
|
+
_id: mongoose.Types.ObjectId;
|
|
103
|
+
}> & {
|
|
104
|
+
__v: number;
|
|
105
|
+
}, "id"> & {
|
|
106
|
+
id: string;
|
|
107
|
+
}>;
|
|
108
|
+
faccoes?: mongoose.SchemaDefinitionProperty<ICidadeFaccao[], ICidade, Document<unknown, {}, ICidade, {
|
|
109
|
+
id: string;
|
|
110
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
111
|
+
_id: mongoose.Types.ObjectId;
|
|
112
|
+
}> & {
|
|
113
|
+
__v: number;
|
|
114
|
+
}, "id"> & {
|
|
115
|
+
id: string;
|
|
116
|
+
}>;
|
|
117
|
+
canais?: mongoose.SchemaDefinitionProperty<ICidadeCanal[], ICidade, Document<unknown, {}, ICidade, {
|
|
118
|
+
id: string;
|
|
119
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
120
|
+
_id: mongoose.Types.ObjectId;
|
|
121
|
+
}> & {
|
|
122
|
+
__v: number;
|
|
123
|
+
}, "id"> & {
|
|
124
|
+
id: string;
|
|
125
|
+
}>;
|
|
126
|
+
ativo?: mongoose.SchemaDefinitionProperty<boolean, ICidade, Document<unknown, {}, ICidade, {
|
|
127
|
+
id: string;
|
|
128
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
129
|
+
_id: mongoose.Types.ObjectId;
|
|
130
|
+
}> & {
|
|
131
|
+
__v: number;
|
|
132
|
+
}, "id"> & {
|
|
133
|
+
id: string;
|
|
134
|
+
}>;
|
|
135
|
+
workersPausedUntil?: mongoose.SchemaDefinitionProperty<Date | null | undefined, ICidade, Document<unknown, {}, ICidade, {
|
|
136
|
+
id: string;
|
|
137
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
138
|
+
_id: mongoose.Types.ObjectId;
|
|
139
|
+
}> & {
|
|
140
|
+
__v: number;
|
|
141
|
+
}, "id"> & {
|
|
142
|
+
id: string;
|
|
143
|
+
}>;
|
|
144
|
+
workersPausedReason?: mongoose.SchemaDefinitionProperty<string | null | undefined, ICidade, Document<unknown, {}, ICidade, {
|
|
145
|
+
id: string;
|
|
146
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidade & Required<{
|
|
147
|
+
_id: mongoose.Types.ObjectId;
|
|
148
|
+
}> & {
|
|
149
|
+
__v: number;
|
|
150
|
+
}, "id"> & {
|
|
151
|
+
id: string;
|
|
152
|
+
}>;
|
|
153
|
+
}, ICidade>;
|
|
154
|
+
export declare const CidadeModel: mongoose.Model<ICidade, {}, {}, {}, Document<unknown, {}, ICidade, {}, mongoose.DefaultSchemaOptions> & ICidade & Required<{
|
|
155
|
+
_id: mongoose.Types.ObjectId;
|
|
156
|
+
}> & {
|
|
157
|
+
__v: number;
|
|
158
|
+
} & {
|
|
159
|
+
id: string;
|
|
160
|
+
}, any, ICidade>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import mongoose, { Schema } from "mongoose";
|
|
2
|
+
const CidadeFaccaoSchema = new Schema({
|
|
3
|
+
nome: { type: String, required: true },
|
|
4
|
+
cargoFaccaoId: { type: String, required: true },
|
|
5
|
+
}, { _id: false });
|
|
6
|
+
const CidadeCanalSchema = new Schema({
|
|
7
|
+
key: { type: String, required: true },
|
|
8
|
+
label: { type: String, required: true },
|
|
9
|
+
channelId: { type: String, default: "" },
|
|
10
|
+
}, { _id: false });
|
|
11
|
+
export const CidadeSchema = new Schema({
|
|
12
|
+
nome: { type: String, required: true },
|
|
13
|
+
guildId: { type: String, required: true },
|
|
14
|
+
logsGuildId: { type: String },
|
|
15
|
+
cargoComandoMilitarId: { type: String, required: true },
|
|
16
|
+
faccoes: { type: [CidadeFaccaoSchema], default: [] },
|
|
17
|
+
canais: { type: [CidadeCanalSchema], default: [] },
|
|
18
|
+
ativo: { type: Boolean, default: true },
|
|
19
|
+
criadoEm: { type: Date, default: Date.now },
|
|
20
|
+
workersPausedUntil: { type: Date, default: null },
|
|
21
|
+
workersPausedReason: { type: String, default: null },
|
|
22
|
+
});
|
|
23
|
+
export const CidadeModel = mongoose.model("Cidade", CidadeSchema);
|
|
24
|
+
//# sourceMappingURL=Cidade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cidade.js","sourceRoot":"","sources":["../../src/models/Cidade.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAgD5C,MAAM,kBAAkB,GAAG,IAAI,MAAM,CACnC;IACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;CAChD,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACf,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC;IACE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACrC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;CACzC,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACf,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,CAAU;IAC9C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7B,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvD,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACpD,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAClD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;IACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IAC3C,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACjD,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAU,QAAQ,EAAE,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
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 (@luxorbots/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
|
+
/** Espelho de Cidade.workersPausedUntil — se no futuro, workers do fac-helper-bot ficam pausados pra essa cidade */
|
|
25
|
+
workersPausedUntil?: Date | null;
|
|
26
|
+
/** Espelho de Cidade.workersPausedReason */
|
|
27
|
+
workersPausedReason?: string | null;
|
|
28
|
+
atualizadoEm: Date;
|
|
29
|
+
}
|
|
30
|
+
export declare const CidadeCacheSchema: mongoose.Schema<ICidadeCache, mongoose.Model<ICidadeCache, any, any, any, any, any, ICidadeCache>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
31
|
+
id: string;
|
|
32
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
33
|
+
_id: mongoose.Types.ObjectId;
|
|
34
|
+
}> & {
|
|
35
|
+
__v: number;
|
|
36
|
+
}, "id"> & {
|
|
37
|
+
id: string;
|
|
38
|
+
}, {
|
|
39
|
+
_id?: mongoose.SchemaDefinitionProperty<mongoose.Types.ObjectId, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
40
|
+
id: string;
|
|
41
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
42
|
+
_id: mongoose.Types.ObjectId;
|
|
43
|
+
}> & {
|
|
44
|
+
__v: number;
|
|
45
|
+
}, "id"> & {
|
|
46
|
+
id: string;
|
|
47
|
+
}>;
|
|
48
|
+
configId?: mongoose.SchemaDefinitionProperty<string, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
49
|
+
id: string;
|
|
50
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
51
|
+
_id: mongoose.Types.ObjectId;
|
|
52
|
+
}> & {
|
|
53
|
+
__v: number;
|
|
54
|
+
}, "id"> & {
|
|
55
|
+
id: string;
|
|
56
|
+
}>;
|
|
57
|
+
atualizadoEm?: mongoose.SchemaDefinitionProperty<Date, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
58
|
+
id: string;
|
|
59
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
60
|
+
_id: mongoose.Types.ObjectId;
|
|
61
|
+
}> & {
|
|
62
|
+
__v: number;
|
|
63
|
+
}, "id"> & {
|
|
64
|
+
id: string;
|
|
65
|
+
}>;
|
|
66
|
+
faccoes?: mongoose.SchemaDefinitionProperty<ICidadeCacheFaccao[], ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
67
|
+
id: string;
|
|
68
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
69
|
+
_id: mongoose.Types.ObjectId;
|
|
70
|
+
}> & {
|
|
71
|
+
__v: number;
|
|
72
|
+
}, "id"> & {
|
|
73
|
+
id: string;
|
|
74
|
+
}>;
|
|
75
|
+
workersPausedUntil?: mongoose.SchemaDefinitionProperty<Date | null | undefined, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
76
|
+
id: string;
|
|
77
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
78
|
+
_id: mongoose.Types.ObjectId;
|
|
79
|
+
}> & {
|
|
80
|
+
__v: number;
|
|
81
|
+
}, "id"> & {
|
|
82
|
+
id: string;
|
|
83
|
+
}>;
|
|
84
|
+
workersPausedReason?: mongoose.SchemaDefinitionProperty<string | null | undefined, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
85
|
+
id: string;
|
|
86
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
87
|
+
_id: mongoose.Types.ObjectId;
|
|
88
|
+
}> & {
|
|
89
|
+
__v: number;
|
|
90
|
+
}, "id"> & {
|
|
91
|
+
id: string;
|
|
92
|
+
}>;
|
|
93
|
+
cidadeNome?: mongoose.SchemaDefinitionProperty<string, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
94
|
+
id: string;
|
|
95
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
96
|
+
_id: mongoose.Types.ObjectId;
|
|
97
|
+
}> & {
|
|
98
|
+
__v: number;
|
|
99
|
+
}, "id"> & {
|
|
100
|
+
id: string;
|
|
101
|
+
}>;
|
|
102
|
+
minhaFaccaoNome?: mongoose.SchemaDefinitionProperty<string | undefined, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
103
|
+
id: string;
|
|
104
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
105
|
+
_id: mongoose.Types.ObjectId;
|
|
106
|
+
}> & {
|
|
107
|
+
__v: number;
|
|
108
|
+
}, "id"> & {
|
|
109
|
+
id: string;
|
|
110
|
+
}>;
|
|
111
|
+
minhaFaccaoCargoId?: mongoose.SchemaDefinitionProperty<string | undefined, ICidadeCache, mongoose.Document<unknown, {}, ICidadeCache, {
|
|
112
|
+
id: string;
|
|
113
|
+
}, mongoose.DefaultSchemaOptions> & Omit<ICidadeCache & Required<{
|
|
114
|
+
_id: mongoose.Types.ObjectId;
|
|
115
|
+
}> & {
|
|
116
|
+
__v: number;
|
|
117
|
+
}, "id"> & {
|
|
118
|
+
id: string;
|
|
119
|
+
}>;
|
|
120
|
+
}, ICidadeCache>;
|
|
121
|
+
export declare const CidadeCacheModel: mongoose.Model<ICidadeCache, {}, {}, {}, mongoose.Document<unknown, {}, ICidadeCache, {}, mongoose.DefaultSchemaOptions> & ICidadeCache & Required<{
|
|
122
|
+
_id: mongoose.Types.ObjectId;
|
|
123
|
+
}> & {
|
|
124
|
+
__v: number;
|
|
125
|
+
} & {
|
|
126
|
+
id: string;
|
|
127
|
+
}, any, ICidadeCache>;
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
workersPausedUntil: { type: Date, default: null },
|
|
13
|
+
workersPausedReason: { type: String, default: null },
|
|
14
|
+
atualizadoEm: { type: Date, default: Date.now },
|
|
15
|
+
});
|
|
16
|
+
export const CidadeCacheModel = mongoose.model("CidadeCache", CidadeCacheSchema);
|
|
17
|
+
//# sourceMappingURL=CidadeCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CidadeCache.js","sourceRoot":"","sources":["../../src/models/CidadeCache.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAC;AAoC3D,MAAM,uBAAuB,GAAG,IAAI,MAAM,CACxC;IACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;CAChD,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,CACf,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAe;IACxD,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAEzD,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACzD,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,kBAAkB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAEpC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACjD,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;IAEpD,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAe,aAAa,EAAE,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import mongoose, { type Document } from "mongoose";
|
|
2
|
+
/**
|
|
3
|
+
* Configuração de Craft (peso máximo de mochila + receitas).
|
|
4
|
+
* Extraído de BotConfig — uso Singleton via configId fixo ("main").
|
|
5
|
+
*/
|
|
6
|
+
export interface ICraftConfig extends Document {
|
|
7
|
+
configId: string;
|
|
8
|
+
/** Peso máximo da mochila em kg */
|
|
9
|
+
pesoMaxMochila: number;
|
|
10
|
+
/** Receitas de craft por tipo de munição (pesos, receitas de carga/munição, tempos) */
|
|
11
|
+
craftReceitas: {
|
|
12
|
+
tipo: string;
|
|
13
|
+
pesos: {
|
|
14
|
+
polvora: number;
|
|
15
|
+
cartucho: number;
|
|
16
|
+
projetil: number;
|
|
17
|
+
municao: number;
|
|
18
|
+
};
|
|
19
|
+
receitaCarga: {
|
|
20
|
+
polvora: number;
|
|
21
|
+
cartucho: number;
|
|
22
|
+
produz: number;
|
|
23
|
+
};
|
|
24
|
+
receitaMunicao: {
|
|
25
|
+
projetil: number;
|
|
26
|
+
carga: number;
|
|
27
|
+
produz: number;
|
|
28
|
+
};
|
|
29
|
+
tempoCraft: {
|
|
30
|
+
carga: number;
|
|
31
|
+
municao: number;
|
|
32
|
+
};
|
|
33
|
+
}[];
|
|
34
|
+
}
|
|
35
|
+
export declare const CraftConfigModel: mongoose.Model<ICraftConfig, {}, {}, {}, mongoose.Document<unknown, {}, ICraftConfig, {}, mongoose.DefaultSchemaOptions> & ICraftConfig & Required<{
|
|
36
|
+
_id: mongoose.Types.ObjectId;
|
|
37
|
+
}> & {
|
|
38
|
+
__v: number;
|
|
39
|
+
} & {
|
|
40
|
+
id: string;
|
|
41
|
+
}, any, ICraftConfig>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import mongoose, { Schema } from "mongoose";
|
|
2
|
+
const CraftConfigSchema = new Schema({
|
|
3
|
+
configId: { type: String, default: "main", unique: true },
|
|
4
|
+
pesoMaxMochila: { type: Number, default: 150 },
|
|
5
|
+
craftReceitas: {
|
|
6
|
+
type: [
|
|
7
|
+
{
|
|
8
|
+
tipo: { type: String, required: true },
|
|
9
|
+
pesos: {
|
|
10
|
+
polvora: { type: Number, required: true },
|
|
11
|
+
cartucho: { type: Number, required: true },
|
|
12
|
+
projetil: { type: Number, required: true },
|
|
13
|
+
municao: { type: Number, required: true },
|
|
14
|
+
},
|
|
15
|
+
receitaCarga: {
|
|
16
|
+
polvora: { type: Number, required: true },
|
|
17
|
+
cartucho: { type: Number, required: true },
|
|
18
|
+
produz: { type: Number, required: true },
|
|
19
|
+
},
|
|
20
|
+
receitaMunicao: {
|
|
21
|
+
projetil: { type: Number, required: true },
|
|
22
|
+
carga: { type: Number, required: true },
|
|
23
|
+
produz: { type: Number, required: true },
|
|
24
|
+
},
|
|
25
|
+
tempoCraft: {
|
|
26
|
+
carga: { type: Number, required: true },
|
|
27
|
+
municao: { type: Number, required: true },
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
export const CraftConfigModel = mongoose.model("CraftConfig", CraftConfigSchema);
|
|
34
|
+
//# sourceMappingURL=CraftConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CraftConfig.js","sourceRoot":"","sources":["../../src/models/CraftConfig.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAC;AAsB3D,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAe;IACjD,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAEzD,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;IAC9C,aAAa,EAAE;QACb,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACtC,KAAK,EAAE;oBACL,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC1C;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACzC;gBACD,cAAc,EAAE;oBACd,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACvC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACzC;gBACD,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACvC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC1C;aACF;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAe,aAAa,EAAE,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Document } from "mongoose";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
export interface IFarm extends Document {
|
|
4
|
+
odiscordId: string;
|
|
5
|
+
nomeInGame: string;
|
|
6
|
+
idInGame: string;
|
|
7
|
+
cargo: string;
|
|
8
|
+
dataEntrega: string;
|
|
9
|
+
dataVencimento: string;
|
|
10
|
+
registradoPor: string;
|
|
11
|
+
status: "ativo" | "vencido" | "entregue";
|
|
12
|
+
cargoAnterior?: string;
|
|
13
|
+
cargosAnterioresIds?: string[];
|
|
14
|
+
rebaixado?: boolean;
|
|
15
|
+
notificadoDmVencimento?: boolean;
|
|
16
|
+
manual?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const FarmModel: mongoose.Model<IFarm, {}, {}, {}, Document<unknown, {}, IFarm, {}, mongoose.DefaultSchemaOptions> & IFarm & Required<{
|
|
19
|
+
_id: mongoose.Types.ObjectId;
|
|
20
|
+
}> & {
|
|
21
|
+
__v: number;
|
|
22
|
+
} & {
|
|
23
|
+
id: string;
|
|
24
|
+
}, any, IFarm>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import mongoose, { Schema } from "mongoose";
|
|
2
|
+
const FarmSchema = new Schema({
|
|
3
|
+
odiscordId: { type: String, required: true, unique: true, index: true },
|
|
4
|
+
nomeInGame: { type: String, required: true },
|
|
5
|
+
idInGame: { type: String, required: true, index: true },
|
|
6
|
+
cargo: { type: String, required: true },
|
|
7
|
+
dataEntrega: { type: String, required: true },
|
|
8
|
+
dataVencimento: { type: String, required: true, index: true },
|
|
9
|
+
registradoPor: { type: String, required: true },
|
|
10
|
+
status: { type: String, enum: ["ativo", "vencido", "entregue"], default: "ativo", index: true },
|
|
11
|
+
cargoAnterior: { type: String },
|
|
12
|
+
cargosAnterioresIds: { type: [String], default: undefined },
|
|
13
|
+
rebaixado: { type: Boolean, default: false },
|
|
14
|
+
notificadoDmVencimento: { type: Boolean, default: false },
|
|
15
|
+
manual: { type: Boolean, default: false, index: true },
|
|
16
|
+
}, { timestamps: true });
|
|
17
|
+
// Índice composto para consultas frequentes
|
|
18
|
+
FarmSchema.index({ status: 1, dataVencimento: 1 });
|
|
19
|
+
export const FarmModel = mongoose.model("Farm", FarmSchema);
|
|
20
|
+
//# sourceMappingURL=Farm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Farm.js","sourceRoot":"","sources":["../../src/models/Farm.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAkB5C,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B;IACE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACvE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACvD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC7D,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;IAC/F,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/B,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE;IAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IAC5C,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;CACvD,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAC;AAEF,4CAA4C;AAC5C,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAQ,MAAM,EAAE,UAAU,CAAC,CAAC"}
|