fac-shared-db 1.0.0 → 1.1.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,28 @@
1
+ import mongoose, { Document } from "mongoose";
2
+ export interface ISolicitacaoUp extends Document {
3
+ /** Discord ID de quem solicitou o UP (gerente) */
4
+ solicitanteId: string;
5
+ /** Discord ID do membro a ser promovido */
6
+ membroId: string;
7
+ /** ID do cargo atual do membro no momento da solicitação */
8
+ cargoAtualId?: string;
9
+ /** ID do cargo para o qual foi solicitada a promoção */
10
+ cargoSolicitadoId: string;
11
+ /** Status da solicitação */
12
+ status: "pendente" | "aprovada" | "rejeitada";
13
+ /** ID da mensagem de aprovação no canal */
14
+ mensagemId?: string;
15
+ /** Discord ID de quem aprovou/rejeitou */
16
+ avaliadoPorId?: string;
17
+ /** Data da avaliação (aprovação ou rejeição) */
18
+ avaliadoEm?: Date;
19
+ /** true quando aprovada automaticamente por solicitante da Liderança */
20
+ autoAprovada: boolean;
21
+ }
22
+ export declare const SolicitacaoUpModel: mongoose.Model<ISolicitacaoUp, {}, {}, {}, mongoose.Document<unknown, {}, ISolicitacaoUp, {}, mongoose.DefaultSchemaOptions> & ISolicitacaoUp & Required<{
23
+ _id: mongoose.Types.ObjectId;
24
+ }> & {
25
+ __v: number;
26
+ } & {
27
+ id: string;
28
+ }, any, ISolicitacaoUp>;
@@ -0,0 +1,17 @@
1
+ import mongoose, { Schema } from "mongoose";
2
+ const SolicitacaoUpSchema = new Schema({
3
+ solicitanteId: { type: String, required: true, index: true },
4
+ membroId: { type: String, required: true, index: true },
5
+ cargoAtualId: { type: String },
6
+ cargoSolicitadoId: { type: String, required: true },
7
+ status: { type: String, enum: ["pendente", "aprovada", "rejeitada"], default: "pendente", index: true },
8
+ mensagemId: { type: String },
9
+ avaliadoPorId: { type: String },
10
+ avaliadoEm: { type: Date },
11
+ autoAprovada: { type: Boolean, default: false },
12
+ }, { timestamps: true });
13
+ // Índice para consultas de status por solicitante
14
+ SolicitacaoUpSchema.index({ solicitanteId: 1, status: 1 });
15
+ // Índice para consultas de ranking/contagem por status + avaliadoEm
16
+ SolicitacaoUpSchema.index({ status: 1, avaliadoEm: 1 });
17
+ export const SolicitacaoUpModel = mongoose.model("SolicitacaoUp", SolicitacaoUpSchema);
@@ -34,6 +34,8 @@ export { MensagemRotacaoModel } from "./MensagemRotacao.js";
34
34
  export type { IMensagemRotacao } from "./MensagemRotacao.js";
35
35
  export { RegistroOlheiroModel } from "./RegistroOlheiro.js";
36
36
  export type { IRegistroOlheiro } from "./RegistroOlheiro.js";
37
+ export { SolicitacaoUpModel } from "./SolicitacaoUp.js";
38
+ export type { ISolicitacaoUp } from "./SolicitacaoUp.js";
37
39
  export { UpRegistroModel } from "./UpRegistro.js";
38
40
  export type { IUpRegistro } from "./UpRegistro.js";
39
41
  export { VendaModel } from "./Venda.js";
@@ -16,6 +16,7 @@ export { MembroCadastroModel } from "./MembroCadastro.js";
16
16
  export { MensagemRecrutamentoModel } from "./MensagemRecrutamento.js";
17
17
  export { MensagemRotacaoModel } from "./MensagemRotacao.js";
18
18
  export { RegistroOlheiroModel } from "./RegistroOlheiro.js";
19
+ export { SolicitacaoUpModel } from "./SolicitacaoUp.js";
19
20
  export { UpRegistroModel } from "./UpRegistro.js";
20
21
  export { VendaModel } from "./Venda.js";
21
22
  export { VendaConfigModel } from "./VendaConfig.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fac-shared-db",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",