@natrave/shared-entities 8.45.1 → 8.46.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.
Files changed (105) hide show
  1. package/dist/backoffice/enums/staff-command-outcome.enum.d.ts +8 -0
  2. package/dist/backoffice/enums/staff-command-outcome.enum.d.ts.map +1 -0
  3. package/dist/backoffice/enums/staff-command-outcome.enum.js +11 -0
  4. package/dist/backoffice/enums/test-mark-subject-type.enum.d.ts +5 -0
  5. package/dist/backoffice/enums/test-mark-subject-type.enum.d.ts.map +1 -0
  6. package/dist/backoffice/enums/test-mark-subject-type.enum.js +8 -0
  7. package/dist/backoffice/friendly-funnel-snapshots/backoffice-friendly-funnel-snapshot.entity.d.ts +8 -0
  8. package/dist/backoffice/friendly-funnel-snapshots/backoffice-friendly-funnel-snapshot.entity.d.ts.map +1 -0
  9. package/dist/backoffice/friendly-funnel-snapshots/backoffice-friendly-funnel-snapshot.entity.js +57 -0
  10. package/dist/backoffice/friendly-funnel-snapshots/index.d.ts +2 -0
  11. package/dist/backoffice/friendly-funnel-snapshots/index.d.ts.map +1 -0
  12. package/dist/backoffice/friendly-funnel-snapshots/index.js +4 -0
  13. package/dist/backoffice/index.d.ts +5 -0
  14. package/dist/backoffice/index.d.ts.map +1 -1
  15. package/dist/backoffice/index.js +7 -0
  16. package/dist/backoffice/staff-commands/backoffice-staff-command.entity.d.ts +21 -0
  17. package/dist/backoffice/staff-commands/backoffice-staff-command.entity.d.ts.map +1 -0
  18. package/dist/backoffice/staff-commands/backoffice-staff-command.entity.js +150 -0
  19. package/dist/backoffice/staff-commands/index.d.ts +2 -0
  20. package/dist/backoffice/staff-commands/index.d.ts.map +1 -0
  21. package/dist/backoffice/staff-commands/index.js +4 -0
  22. package/dist/backoffice/test-marks/backoffice-test-mark.entity.d.ts +15 -0
  23. package/dist/backoffice/test-marks/backoffice-test-mark.entity.d.ts.map +1 -0
  24. package/dist/backoffice/test-marks/backoffice-test-mark.entity.js +116 -0
  25. package/dist/backoffice/test-marks/index.d.ts +2 -0
  26. package/dist/backoffice/test-marks/index.d.ts.map +1 -0
  27. package/dist/backoffice/test-marks/index.js +4 -0
  28. package/dist/database-entities/index.d.ts +2 -2
  29. package/dist/database-entities/index.d.ts.map +1 -1
  30. package/dist/database-entities/index.js +10 -2
  31. package/dist/friendlies/enums/friendly-history-actor-type.enum.d.ts +6 -0
  32. package/dist/friendlies/enums/friendly-history-actor-type.enum.d.ts.map +1 -0
  33. package/dist/friendlies/enums/friendly-history-actor-type.enum.js +9 -0
  34. package/dist/friendlies/enums/friendly-history-type.enum.d.ts +22 -0
  35. package/dist/friendlies/enums/friendly-history-type.enum.d.ts.map +1 -0
  36. package/dist/friendlies/enums/friendly-history-type.enum.js +25 -0
  37. package/dist/friendlies/enums/friendly-removed-reason.enum.d.ts +7 -0
  38. package/dist/friendlies/enums/friendly-removed-reason.enum.d.ts.map +1 -0
  39. package/dist/friendlies/enums/friendly-removed-reason.enum.js +10 -0
  40. package/dist/friendlies/enums/friendly-score-event-type.enum.d.ts +3 -1
  41. package/dist/friendlies/enums/friendly-score-event-type.enum.d.ts.map +1 -1
  42. package/dist/friendlies/enums/friendly-score-event-type.enum.js +2 -0
  43. package/dist/friendlies/enums/friendly-score-staff-reason.enum.d.ts +10 -0
  44. package/dist/friendlies/enums/friendly-score-staff-reason.enum.d.ts.map +1 -0
  45. package/dist/friendlies/enums/friendly-score-staff-reason.enum.js +13 -0
  46. package/dist/friendlies/enums/friendly-staff-command-effect-kind.enum.d.ts +5 -0
  47. package/dist/friendlies/enums/friendly-staff-command-effect-kind.enum.d.ts.map +1 -0
  48. package/dist/friendlies/enums/friendly-staff-command-effect-kind.enum.js +8 -0
  49. package/dist/friendlies/enums/friendly-staff-command-effect-skip-reason.enum.d.ts +6 -0
  50. package/dist/friendlies/enums/friendly-staff-command-effect-skip-reason.enum.d.ts.map +1 -0
  51. package/dist/friendlies/enums/friendly-staff-command-effect-skip-reason.enum.js +9 -0
  52. package/dist/friendlies/enums/friendly-staff-command-effect-status.enum.d.ts +7 -0
  53. package/dist/friendlies/enums/friendly-staff-command-effect-status.enum.d.ts.map +1 -0
  54. package/dist/friendlies/enums/friendly-staff-command-effect-status.enum.js +10 -0
  55. package/dist/friendlies/enums/friendly-staff-command-status.enum.d.ts +5 -0
  56. package/dist/friendlies/enums/friendly-staff-command-status.enum.d.ts.map +1 -0
  57. package/dist/friendlies/enums/friendly-staff-command-status.enum.js +8 -0
  58. package/dist/friendlies/enums/friendly-staff-operation.enum.d.ts +16 -0
  59. package/dist/friendlies/enums/friendly-staff-operation.enum.d.ts.map +1 -0
  60. package/dist/friendlies/enums/friendly-staff-operation.enum.js +19 -0
  61. package/dist/friendlies/friendly-challenges/friendly-challenge.entity.d.ts +9 -0
  62. package/dist/friendlies/friendly-challenges/friendly-challenge.entity.d.ts.map +1 -1
  63. package/dist/friendlies/friendly-challenges/friendly-challenge.entity.js +86 -1
  64. package/dist/friendlies/friendly-history/friendly-history.entity.d.ts +32 -0
  65. package/dist/friendlies/friendly-history/friendly-history.entity.d.ts.map +1 -0
  66. package/dist/friendlies/friendly-history/friendly-history.entity.js +218 -0
  67. package/dist/friendlies/friendly-history/index.d.ts +2 -0
  68. package/dist/friendlies/friendly-history/index.d.ts.map +1 -0
  69. package/dist/friendlies/friendly-history/index.js +4 -0
  70. package/dist/friendlies/friendly-matches/friendly-match.entity.d.ts +5 -0
  71. package/dist/friendlies/friendly-matches/friendly-match.entity.d.ts.map +1 -1
  72. package/dist/friendlies/friendly-matches/friendly-match.entity.js +48 -3
  73. package/dist/friendlies/friendly-open-challenge-extras/friendly-open-challenge-extra.entity.d.ts +13 -0
  74. package/dist/friendlies/friendly-open-challenge-extras/friendly-open-challenge-extra.entity.d.ts.map +1 -0
  75. package/dist/friendlies/friendly-open-challenge-extras/friendly-open-challenge-extra.entity.js +88 -0
  76. package/dist/friendlies/friendly-open-challenge-extras/index.d.ts +2 -0
  77. package/dist/friendlies/friendly-open-challenge-extras/index.d.ts.map +1 -0
  78. package/dist/friendlies/friendly-open-challenge-extras/index.js +4 -0
  79. package/dist/friendlies/friendly-open-challenges/friendly-open-challenge.entity.d.ts +4 -0
  80. package/dist/friendlies/friendly-open-challenges/friendly-open-challenge.entity.d.ts.map +1 -1
  81. package/dist/friendlies/friendly-open-challenges/friendly-open-challenge.entity.js +24 -0
  82. package/dist/friendlies/friendly-requests/friendly-request.entity.d.ts.map +1 -1
  83. package/dist/friendlies/friendly-requests/friendly-request.entity.js +1 -1
  84. package/dist/friendlies/friendly-score-events/friendly-score-event.entity.d.ts +8 -0
  85. package/dist/friendlies/friendly-score-events/friendly-score-event.entity.d.ts.map +1 -1
  86. package/dist/friendlies/friendly-score-events/friendly-score-event.entity.js +95 -6
  87. package/dist/friendlies/friendly-staff-command-effects/friendly-staff-command-effect.entity.d.ts +26 -0
  88. package/dist/friendlies/friendly-staff-command-effects/friendly-staff-command-effect.entity.d.ts.map +1 -0
  89. package/dist/friendlies/friendly-staff-command-effects/friendly-staff-command-effect.entity.js +185 -0
  90. package/dist/friendlies/friendly-staff-command-effects/index.d.ts +2 -0
  91. package/dist/friendlies/friendly-staff-command-effects/index.d.ts.map +1 -0
  92. package/dist/friendlies/friendly-staff-command-effects/index.js +4 -0
  93. package/dist/friendlies/friendly-staff-commands/friendly-staff-command.entity.d.ts +21 -0
  94. package/dist/friendlies/friendly-staff-commands/friendly-staff-command.entity.d.ts.map +1 -0
  95. package/dist/friendlies/friendly-staff-commands/friendly-staff-command.entity.js +152 -0
  96. package/dist/friendlies/friendly-staff-commands/index.d.ts +2 -0
  97. package/dist/friendlies/friendly-staff-commands/index.d.ts.map +1 -0
  98. package/dist/friendlies/friendly-staff-commands/index.js +4 -0
  99. package/dist/friendlies/index.d.ts +13 -0
  100. package/dist/friendlies/index.d.ts.map +1 -1
  101. package/dist/friendlies/index.js +23 -1
  102. package/dist/notifications/notifications/notification.entity.d.ts +1 -0
  103. package/dist/notifications/notifications/notification.entity.d.ts.map +1 -1
  104. package/dist/notifications/notifications/notification.entity.js +13 -0
  105. package/package.json +1 -1
@@ -0,0 +1,218 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __decorateClass = (decorators, target, key, kind) => {
4
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
+ if (decorator = decorators[i])
7
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
+ if (kind && result) __defProp(target, key, result);
9
+ return result;
10
+ };
11
+ import {
12
+ Check,
13
+ Column,
14
+ Entity,
15
+ Index,
16
+ JoinColumn,
17
+ ManyToOne,
18
+ PrimaryGeneratedColumn
19
+ } from "typeorm";
20
+ import { User } from "../../app-auth/index.js";
21
+ import { PlayerTeam } from "../../teams/player-team/player-team.entity.js";
22
+ import { Team } from "../../teams/teams/team.entity.js";
23
+ import { FriendlyHistoryActorType } from "../enums/friendly-history-actor-type.enum.js";
24
+ import { FriendlyHistoryType } from "../enums/friendly-history-type.enum.js";
25
+ import { FriendlyChallenge } from "../friendly-challenges/friendly-challenge.entity.js";
26
+ import { FriendlyOpenChallenge } from "../friendly-open-challenges/friendly-open-challenge.entity.js";
27
+ import { FriendlyStaffCommand } from "../friendly-staff-commands/friendly-staff-command.entity.js";
28
+ const TYPES = Object.values(FriendlyHistoryType).map((type) => `'${type}'`).join(", ");
29
+ const ACTOR_TYPES = Object.values(FriendlyHistoryActorType).map((actorType) => `'${actorType}'`).join(", ");
30
+ let FriendlyHistory = class {
31
+ };
32
+ __decorateClass([
33
+ PrimaryGeneratedColumn({
34
+ type: "bigint",
35
+ primaryKeyConstraintName: "PK_friendly_history",
36
+ comment: "Identificador \xFAnico da linha da linha do tempo."
37
+ })
38
+ ], FriendlyHistory.prototype, "id", 2);
39
+ __decorateClass([
40
+ Column({
41
+ name: "friendly_challenge_id",
42
+ type: "int",
43
+ nullable: true,
44
+ comment: "FK friendly_challenges.id. O amistoso (o id que o app v\xEA)."
45
+ })
46
+ ], FriendlyHistory.prototype, "friendlyChallengeId", 2);
47
+ __decorateClass([
48
+ Column({
49
+ name: "friendly_open_challenge_id",
50
+ type: "int",
51
+ nullable: true,
52
+ comment: "FK friendly_open_challenges.id. O desafio aberto do mural. Pelo menos um dos dois alvos \xE9 preenchido."
53
+ })
54
+ ], FriendlyHistory.prototype, "friendlyOpenChallengeId", 2);
55
+ __decorateClass([
56
+ Column({
57
+ type: "varchar",
58
+ length: 40,
59
+ comment: "O que aconteceu: created | accepted | declined | cancelled | expired | schedule_changed | extras_changed | representative_changed | goal_authors_changed | attendance_changed | mvp_vote_changed | mvp_closed | reminder_sent | removed | restored | staff_note | open_challenge_created | open_challenge_accepted | open_challenge_cancelled | open_challenge_expired."
60
+ })
61
+ ], FriendlyHistory.prototype, "type", 2);
62
+ __decorateClass([
63
+ Column({
64
+ name: "actor_type",
65
+ type: "varchar",
66
+ length: 16,
67
+ comment: "app_user (pessoa pelo app) | staff (equipe pelo back-office) | system (rotina)."
68
+ })
69
+ ], FriendlyHistory.prototype, "actorType", 2);
70
+ __decorateClass([
71
+ Column({
72
+ name: "actor_user_id",
73
+ type: "uuid",
74
+ nullable: true,
75
+ comment: "FK users.id. Quem fez pelo app. Preenchida exatamente em app_user."
76
+ })
77
+ ], FriendlyHistory.prototype, "actorUserId", 2);
78
+ __decorateClass([
79
+ Column({
80
+ name: "actor_team_id",
81
+ type: "int",
82
+ nullable: true,
83
+ comment: "FK teams.id. O lado que agiu, quando h\xE1."
84
+ })
85
+ ], FriendlyHistory.prototype, "actorTeamId", 2);
86
+ __decorateClass([
87
+ Column({
88
+ name: "actor_staff_id",
89
+ type: "varchar",
90
+ length: 255,
91
+ nullable: true,
92
+ comment: "Id (Clerk) de quem da equipe fez. Preenchida exatamente em staff."
93
+ })
94
+ ], FriendlyHistory.prototype, "actorStaffId", 2);
95
+ __decorateClass([
96
+ Column({
97
+ name: "actor_staff_name",
98
+ type: "varchar",
99
+ length: 255,
100
+ nullable: true,
101
+ comment: "Nome de quem da equipe fez, copiado na hora."
102
+ })
103
+ ], FriendlyHistory.prototype, "actorStaffName", 2);
104
+ __decorateClass([
105
+ Column({
106
+ name: "subject_player_team_id",
107
+ type: "int",
108
+ nullable: true,
109
+ comment: "FK player_teams.id. Jogador afetado, em presen\xE7a e voto."
110
+ })
111
+ ], FriendlyHistory.prototype, "subjectPlayerTeamId", 2);
112
+ __decorateClass([
113
+ Column({
114
+ name: "reason_code",
115
+ type: "varchar",
116
+ length: 32,
117
+ nullable: true,
118
+ comment: "Motivo da equipe ou da recusa."
119
+ })
120
+ ], FriendlyHistory.prototype, "reasonCode", 2);
121
+ __decorateClass([
122
+ Column({
123
+ type: "text",
124
+ nullable: true,
125
+ comment: "Texto livre do motivo ou da nota da equipe."
126
+ })
127
+ ], FriendlyHistory.prototype, "note", 2);
128
+ __decorateClass([
129
+ Column({
130
+ type: "jsonb",
131
+ nullable: true,
132
+ comment: 'Antes e depois: {"campo": {"from": x, "to": y}}, mais as chaves de guarda do que foi apagado ou cancelado (status, prazos, placar, autores, craque).'
133
+ })
134
+ ], FriendlyHistory.prototype, "changes", 2);
135
+ __decorateClass([
136
+ Column({
137
+ name: "staff_command_id",
138
+ type: "bigint",
139
+ nullable: true,
140
+ comment: "FK friendly_staff_commands.id. O comando da equipe que gerou a linha. Preenchida exatamente em staff."
141
+ })
142
+ ], FriendlyHistory.prototype, "staffCommandId", 2);
143
+ __decorateClass([
144
+ Column({
145
+ name: "occurred_at",
146
+ type: "timestamptz",
147
+ default: () => "now()",
148
+ comment: "Quando aconteceu."
149
+ })
150
+ ], FriendlyHistory.prototype, "occurredAt", 2);
151
+ __decorateClass([
152
+ ManyToOne(() => FriendlyChallenge, { onDelete: "RESTRICT" }),
153
+ JoinColumn({
154
+ name: "friendly_challenge_id",
155
+ foreignKeyConstraintName: "FK_friendly_history_challenge"
156
+ })
157
+ ], FriendlyHistory.prototype, "challenge", 2);
158
+ __decorateClass([
159
+ ManyToOne(() => FriendlyOpenChallenge, { onDelete: "RESTRICT" }),
160
+ JoinColumn({
161
+ name: "friendly_open_challenge_id",
162
+ foreignKeyConstraintName: "FK_friendly_history_open_challenge"
163
+ })
164
+ ], FriendlyHistory.prototype, "openChallenge", 2);
165
+ __decorateClass([
166
+ ManyToOne(() => User, { onDelete: "RESTRICT" }),
167
+ JoinColumn({
168
+ name: "actor_user_id",
169
+ foreignKeyConstraintName: "FK_friendly_history_actor_user"
170
+ })
171
+ ], FriendlyHistory.prototype, "actorUser", 2);
172
+ __decorateClass([
173
+ ManyToOne(() => Team, { onDelete: "RESTRICT" }),
174
+ JoinColumn({
175
+ name: "actor_team_id",
176
+ foreignKeyConstraintName: "FK_friendly_history_actor_team"
177
+ })
178
+ ], FriendlyHistory.prototype, "actorTeam", 2);
179
+ __decorateClass([
180
+ ManyToOne(() => PlayerTeam, { onDelete: "RESTRICT" }),
181
+ JoinColumn({
182
+ name: "subject_player_team_id",
183
+ foreignKeyConstraintName: "FK_friendly_history_subject_player_team"
184
+ })
185
+ ], FriendlyHistory.prototype, "subjectPlayerTeam", 2);
186
+ __decorateClass([
187
+ ManyToOne(() => FriendlyStaffCommand, { onDelete: "RESTRICT" }),
188
+ JoinColumn({
189
+ name: "staff_command_id",
190
+ foreignKeyConstraintName: "FK_friendly_history_staff_command"
191
+ })
192
+ ], FriendlyHistory.prototype, "staffCommand", 2);
193
+ FriendlyHistory = __decorateClass([
194
+ Entity("friendly_history"),
195
+ Index("IDX_friendly_history_challenge", ["friendlyChallengeId", "occurredAt", "id"], {
196
+ where: `"friendly_challenge_id" IS NOT NULL`
197
+ }),
198
+ Index("IDX_friendly_history_open_challenge", ["friendlyOpenChallengeId", "occurredAt", "id"], {
199
+ where: `"friendly_open_challenge_id" IS NOT NULL`
200
+ }),
201
+ Check(
202
+ "CHK_friendly_history_target",
203
+ `num_nonnulls("friendly_challenge_id", "friendly_open_challenge_id") >= 1`
204
+ ),
205
+ Check("CHK_friendly_history_type", `"type" IN (${TYPES})`),
206
+ Check("CHK_friendly_history_actor_type", `"actor_type" IN (${ACTOR_TYPES})`),
207
+ Check(
208
+ "CHK_friendly_history_actor_user",
209
+ `("actor_type" = 'app_user') = ("actor_user_id" IS NOT NULL)`
210
+ ),
211
+ Check(
212
+ "CHK_friendly_history_actor_staff",
213
+ `("actor_type" = 'staff') = ("actor_staff_id" IS NOT NULL AND "staff_command_id" IS NOT NULL)`
214
+ )
215
+ ], FriendlyHistory);
216
+ export {
217
+ FriendlyHistory
218
+ };
@@ -0,0 +1,2 @@
1
+ export { FriendlyHistory } from './friendly-history.entity';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-history/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FriendlyHistory } from "./friendly-history.entity.js";
2
+ export {
3
+ FriendlyHistory
4
+ };
@@ -27,11 +27,16 @@ export declare class FriendlyMatch {
27
27
  scoreConfirmationDueAt: Date | null;
28
28
  scoreConfirmedAt: Date | null;
29
29
  scoreConfirmedByUserId: string | null;
30
+ scoreResolvedByStaff: boolean;
30
31
  cancelledByUserId: string | null;
32
+ cancelledByStaff: boolean;
31
33
  cancelledAt: Date | null;
32
34
  mvpClosedAt: Date | null;
33
35
  createdAt: Date;
34
36
  updatedAt: Date;
37
+ scheduleUpdatedByUserId: string | null;
38
+ scheduleUpdatedAt: Date | null;
39
+ scheduleUpdatedByUser: User | null;
35
40
  challenge: FriendlyChallenge;
36
41
  challengerTeam: Team;
37
42
  opponentTeam: Team;
@@ -1 +1 @@
1
- {"version":3,"file":"friendly-match.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-matches/friendly-match.entity.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAkC1F,qBA4Ba,aAAa;IAKxB,EAAE,EAAE,MAAM,CAAC;IAOX,mBAAmB,EAAE,MAAM,CAAC;IAO5B,gBAAgB,EAAE,MAAM,CAAC;IAOzB,cAAc,EAAE,MAAM,CAAC;IAOvB,QAAQ,EAAE,QAAQ,CAAC;IAQnB,MAAM,EAAE,mBAAmB,CAAC;IAQ5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAO1B,8BAA8B,EAAE,MAAM,CAAC;IAOvC,4BAA4B,EAAE,MAAM,CAAC;IASrC,WAAW,EAAE,mBAAmB,CAAC;IASjC,sBAAsB,EAAE,IAAI,GAAG,IAAI,CAAC;IAQpC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;IAQ9B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQjC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IASzB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IAOzB,SAAS,EAAE,IAAI,CAAC;IAOhB,SAAS,EAAE,IAAI,CAAC;IAShB,SAAS,EAAE,iBAAiB,CAAC;IAO7B,cAAc,EAAE,IAAI,CAAC;IAOrB,YAAY,EAAE,IAAI,CAAC;IAQnB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAO1B,wBAAwB,EAAE,IAAI,CAAC;IAO/B,sBAAsB,EAAE,IAAI,CAAC;IAO7B,oBAAoB,EAAE,IAAI,GAAG,IAAI,CAAC;IAOlC,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAG7B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAG7B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAG3B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAGlC,WAAW,EAAE,uBAAuB,EAAE,CAAC;IAGvC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAG5B,IAAI,EAAE,gBAAgB,EAAE,CAAC;CAC1B"}
1
+ {"version":3,"file":"friendly-match.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-matches/friendly-match.entity.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAyC1F,qBAwCa,aAAa;IAKxB,EAAE,EAAE,MAAM,CAAC;IAOX,mBAAmB,EAAE,MAAM,CAAC;IAO5B,gBAAgB,EAAE,MAAM,CAAC;IAOzB,cAAc,EAAE,MAAM,CAAC;IAOvB,QAAQ,EAAE,QAAQ,CAAC;IAQnB,MAAM,EAAE,mBAAmB,CAAC;IAQ5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAO1B,8BAA8B,EAAE,MAAM,CAAC;IAOvC,4BAA4B,EAAE,MAAM,CAAC;IASrC,WAAW,EAAE,mBAAmB,CAAC;IASjC,sBAAsB,EAAE,IAAI,GAAG,IAAI,CAAC;IAQpC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;IAQ9B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAStC,oBAAoB,EAAE,OAAO,CAAC;IAQ9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IASjC,gBAAgB,EAAE,OAAO,CAAC;IAQ1B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IASzB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IAOzB,SAAS,EAAE,IAAI,CAAC;IAOhB,SAAS,EAAE,IAAI,CAAC;IAShB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQvC,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAS/B,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAC;IAOnC,SAAS,EAAE,iBAAiB,CAAC;IAO7B,cAAc,EAAE,IAAI,CAAC;IAOrB,YAAY,EAAE,IAAI,CAAC;IAQnB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAO1B,wBAAwB,EAAE,IAAI,CAAC;IAO/B,sBAAsB,EAAE,IAAI,CAAC;IAO7B,oBAAoB,EAAE,IAAI,GAAG,IAAI,CAAC;IAOlC,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAG7B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAG7B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAG3B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAGlC,WAAW,EAAE,uBAAuB,EAAE,CAAC;IAGvC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAG5B,IAAI,EAAE,gBAAgB,EAAE,CAAC;CAC1B"}
@@ -109,14 +109,14 @@ __decorateClass([
109
109
  Column({
110
110
  name: "challenger_representative_user_id",
111
111
  type: "uuid",
112
- comment: "FK users.id. Quem enviou o desafio. Lan\xE7a e relan\xE7a o placar."
112
+ comment: "FK users.id. Quem enviou o desafio, sem autorizar a\xE7\xF5es."
113
113
  })
114
114
  ], FriendlyMatch.prototype, "challengerRepresentativeUserId", 2);
115
115
  __decorateClass([
116
116
  Column({
117
117
  name: "opponent_representative_user_id",
118
118
  type: "uuid",
119
- comment: "FK users.id. Quem aceitou o desafio. Aceita ou contesta o placar."
119
+ comment: "FK users.id. Quem aceitou o desafio, sem autorizar a\xE7\xF5es."
120
120
  })
121
121
  ], FriendlyMatch.prototype, "opponentRepresentativeUserId", 2);
122
122
  __decorateClass([
@@ -152,6 +152,14 @@ __decorateClass([
152
152
  comment: "FK users.id. Quem confirmou. Nulo quando valeu sozinho pela rotina."
153
153
  })
154
154
  ], FriendlyMatch.prototype, "scoreConfirmedByUserId", 2);
155
+ __decorateClass([
156
+ Column({
157
+ name: "score_resolved_by_staff",
158
+ type: "boolean",
159
+ default: false,
160
+ comment: "Placar final definido pela equipe do back-office: s\xF3 em confirmed e com score_confirmed_by_user_id nulo."
161
+ })
162
+ ], FriendlyMatch.prototype, "scoreResolvedByStaff", 2);
155
163
  __decorateClass([
156
164
  Column({
157
165
  name: "cancelled_by_user_id",
@@ -160,6 +168,14 @@ __decorateClass([
160
168
  comment: "FK users.id. Quem cancelou a partida."
161
169
  })
162
170
  ], FriendlyMatch.prototype, "cancelledByUserId", 2);
171
+ __decorateClass([
172
+ Column({
173
+ name: "cancelled_by_staff",
174
+ type: "boolean",
175
+ default: false,
176
+ comment: "Cancelada pela equipe do back-office: s\xF3 em cancelled e com cancelled_by_user_id nulo."
177
+ })
178
+ ], FriendlyMatch.prototype, "cancelledByStaff", 2);
163
179
  __decorateClass([
164
180
  Column({
165
181
  name: "cancelled_at",
@@ -190,6 +206,29 @@ __decorateClass([
190
206
  comment: "Data/hora da \xFAltima atualiza\xE7\xE3o."
191
207
  })
192
208
  ], FriendlyMatch.prototype, "updatedAt", 2);
209
+ __decorateClass([
210
+ Column({
211
+ name: "schedule_updated_by_user_id",
212
+ type: "uuid",
213
+ nullable: true,
214
+ comment: "FK users.id. Quem editou a agenda da partida por \xFAltimo; nulo se ningu\xE9m editou depois do aceite."
215
+ })
216
+ ], FriendlyMatch.prototype, "scheduleUpdatedByUserId", 2);
217
+ __decorateClass([
218
+ Column({
219
+ name: "schedule_updated_at",
220
+ type: "timestamptz",
221
+ nullable: true,
222
+ comment: "Quando a agenda da partida foi editada por \xFAltimo."
223
+ })
224
+ ], FriendlyMatch.prototype, "scheduleUpdatedAt", 2);
225
+ __decorateClass([
226
+ ManyToOne(() => User, { onDelete: "SET NULL" }),
227
+ JoinColumn({
228
+ name: "schedule_updated_by_user_id",
229
+ foreignKeyConstraintName: "FK_friendly_matches_schedule_updated_by"
230
+ })
231
+ ], FriendlyMatch.prototype, "scheduleUpdatedByUser", 2);
193
232
  __decorateClass([
194
233
  OneToOne(() => FriendlyChallenge, (challenge) => challenge.match, { onDelete: "RESTRICT" }),
195
234
  JoinColumn({
@@ -275,6 +314,8 @@ FriendlyMatch = __decorateClass([
275
314
  Index("IDX_friendly_matches_score_due", ["scoreConfirmationDueAt"], {
276
315
  where: `"score_status" = 'awaiting_opponent'`
277
316
  }),
317
+ Index("IDX_friendly_matches_challenger_representative", ["challengerRepresentativeUserId"]),
318
+ Index("IDX_friendly_matches_opponent_representative", ["opponentRepresentativeUserId"]),
278
319
  Check("CHK_friendly_matches_status", `"status" IN (${STATUSES})`),
279
320
  Check("CHK_friendly_matches_score_status", `"score_status" IN (${SCORE_STATUSES})`),
280
321
  Check("CHK_friendly_matches_modality", `"modality" IN (${MODALITIES})`),
@@ -282,7 +323,11 @@ FriendlyMatch = __decorateClass([
282
323
  Check("CHK_friendly_matches_time_needs_date", `"match_time" IS NULL OR "match_date" IS NOT NULL`),
283
324
  Check(
284
325
  "CHK_friendly_matches_cancelled",
285
- `("status" = 'cancelled') = ("cancelled_at" IS NOT NULL AND "cancelled_by_user_id" IS NOT NULL)`
326
+ `(("status" = 'cancelled') = ("cancelled_at" IS NOT NULL AND (("cancelled_by_user_id" IS NOT NULL) <> "cancelled_by_staff"))) AND (NOT "cancelled_by_staff" OR "status" = 'cancelled')`
327
+ ),
328
+ Check(
329
+ "CHK_friendly_matches_staff_score",
330
+ `NOT "score_resolved_by_staff" OR ("score_status" = 'confirmed' AND "score_confirmed_by_user_id" IS NULL)`
286
331
  ),
287
332
  Check("CHK_friendly_matches_cancel_no_score", `"status" = 'scheduled' OR "score_status" = 'none'`),
288
333
  Check(
@@ -0,0 +1,13 @@
1
+ import { FriendlyResource } from '../enums/friendly-resource.enum';
2
+ import { FriendlyResponsible } from '../enums/friendly-responsible.enum';
3
+ import { FriendlyOpenChallenge } from '../friendly-open-challenges/friendly-open-challenge.entity';
4
+ export declare class FriendlyOpenChallengeExtra {
5
+ id: number;
6
+ friendlyOpenChallengeId: number;
7
+ resource: FriendlyResource;
8
+ amountCents: number | null;
9
+ responsible: FriendlyResponsible;
10
+ createdAt: Date;
11
+ openChallenge: FriendlyOpenChallenge;
12
+ }
13
+ //# sourceMappingURL=friendly-open-challenge-extra.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"friendly-open-challenge-extra.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-open-challenge-extras/friendly-open-challenge-extra.entity.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AAsBnG,qBAKa,0BAA0B;IAKrC,EAAE,EAAE,MAAM,CAAC;IAOX,uBAAuB,EAAE,MAAM,CAAC;IAOhC,QAAQ,EAAE,gBAAgB,CAAC;IAQ3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAO3B,WAAW,EAAE,mBAAmB,CAAC;IAOjC,SAAS,EAAE,IAAI,CAAC;IAWhB,aAAa,EAAE,qBAAqB,CAAC;CACtC"}
@@ -0,0 +1,88 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __decorateClass = (decorators, target, key, kind) => {
4
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
+ if (decorator = decorators[i])
7
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
+ if (kind && result) __defProp(target, key, result);
9
+ return result;
10
+ };
11
+ import {
12
+ Check,
13
+ Column,
14
+ CreateDateColumn,
15
+ Entity,
16
+ JoinColumn,
17
+ ManyToOne,
18
+ PrimaryGeneratedColumn,
19
+ Unique
20
+ } from "typeorm";
21
+ import { FriendlyResource } from "../enums/friendly-resource.enum.js";
22
+ import { FriendlyResponsible } from "../enums/friendly-responsible.enum.js";
23
+ import { FriendlyOpenChallenge } from "../friendly-open-challenges/friendly-open-challenge.entity.js";
24
+ const RESOURCES = Object.values(FriendlyResource).map((resource) => `'${resource}'`).join(", ");
25
+ const RESPONSIBLES = Object.values(FriendlyResponsible).map((responsible) => `'${responsible}'`).join(", ");
26
+ let FriendlyOpenChallengeExtra = class {
27
+ };
28
+ __decorateClass([
29
+ PrimaryGeneratedColumn({
30
+ primaryKeyConstraintName: "PK_friendly_open_challenge_extras",
31
+ comment: "Identificador \xFAnico do item proposto no mural."
32
+ })
33
+ ], FriendlyOpenChallengeExtra.prototype, "id", 2);
34
+ __decorateClass([
35
+ Column({
36
+ name: "friendly_open_challenge_id",
37
+ type: "int",
38
+ comment: "FK friendly_open_challenges.id."
39
+ })
40
+ ], FriendlyOpenChallengeExtra.prototype, "friendlyOpenChallengeId", 2);
41
+ __decorateClass([
42
+ Column({
43
+ type: "varchar",
44
+ length: 32,
45
+ comment: "Item proposto (\xE1rbitro, quadra, bola...)."
46
+ })
47
+ ], FriendlyOpenChallengeExtra.prototype, "resource", 2);
48
+ __decorateClass([
49
+ Column({
50
+ name: "amount_cents",
51
+ type: "int",
52
+ nullable: true,
53
+ comment: 'Valor total do item em centavos. Nulo \xE9 "a combinar" ou sem custo.'
54
+ })
55
+ ], FriendlyOpenChallengeExtra.prototype, "amountCents", 2);
56
+ __decorateClass([
57
+ Column({
58
+ type: "varchar",
59
+ length: 16,
60
+ comment: "challenger (quem publicou) | opponent (quem aceitar) | both."
61
+ })
62
+ ], FriendlyOpenChallengeExtra.prototype, "responsible", 2);
63
+ __decorateClass([
64
+ CreateDateColumn({
65
+ name: "created_at",
66
+ type: "timestamptz",
67
+ comment: "Data/hora de cria\xE7\xE3o do registro."
68
+ })
69
+ ], FriendlyOpenChallengeExtra.prototype, "createdAt", 2);
70
+ __decorateClass([
71
+ ManyToOne(() => FriendlyOpenChallenge, (openChallenge) => openChallenge.extras, {
72
+ onDelete: "CASCADE"
73
+ }),
74
+ JoinColumn({
75
+ name: "friendly_open_challenge_id",
76
+ foreignKeyConstraintName: "FK_friendly_open_challenge_extras_open_challenge"
77
+ })
78
+ ], FriendlyOpenChallengeExtra.prototype, "openChallenge", 2);
79
+ FriendlyOpenChallengeExtra = __decorateClass([
80
+ Entity("friendly_open_challenge_extras"),
81
+ Unique("UQ_friendly_open_challenge_extras_resource", ["friendlyOpenChallengeId", "resource"]),
82
+ Check("CHK_friendly_open_challenge_extras_resource", `"resource" IN (${RESOURCES})`),
83
+ Check("CHK_friendly_open_challenge_extras_responsible", `"responsible" IN (${RESPONSIBLES})`),
84
+ Check("CHK_friendly_open_challenge_extras_amount", `"amount_cents" IS NULL OR "amount_cents" >= 0`)
85
+ ], FriendlyOpenChallengeExtra);
86
+ export {
87
+ FriendlyOpenChallengeExtra
88
+ };
@@ -0,0 +1,2 @@
1
+ export { FriendlyOpenChallengeExtra } from './friendly-open-challenge-extra.entity';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-open-challenge-extras/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FriendlyOpenChallengeExtra } from "./friendly-open-challenge-extra.entity.js";
2
+ export {
3
+ FriendlyOpenChallengeExtra
4
+ };
@@ -5,6 +5,7 @@ import { Team } from '../../teams/teams/team.entity';
5
5
  import { FriendlyOpenChallengeStatus } from '../enums/friendly-open-challenge-status.enum';
6
6
  import { FriendlyScheduleKind } from '../enums/friendly-schedule-kind.enum';
7
7
  import { FriendlyChallenge } from '../friendly-challenges/friendly-challenge.entity';
8
+ import { FriendlyOpenChallengeExtra } from '../friendly-open-challenge-extras/friendly-open-challenge-extra.entity';
8
9
  export declare class FriendlyOpenChallenge {
9
10
  id: number;
10
11
  teamId: number;
@@ -23,6 +24,8 @@ export declare class FriendlyOpenChallenge {
23
24
  acceptedAt: Date | null;
24
25
  closedByUserId: string | null;
25
26
  closedAt: Date | null;
27
+ closedByStaff: boolean;
28
+ revision: number;
26
29
  createdAt: Date;
27
30
  updatedAt: Date;
28
31
  team: Team;
@@ -32,5 +35,6 @@ export declare class FriendlyOpenChallenge {
32
35
  acceptedByTeam: Team | null;
33
36
  acceptedByUser: User | null;
34
37
  closedByUser: User | null;
38
+ extras: FriendlyOpenChallengeExtra[];
35
39
  }
36
40
  //# sourceMappingURL=friendly-open-challenge.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"friendly-open-challenge.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-open-challenges/friendly-open-challenge.entity.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AA2BrF,qBA6Ba,qBAAqB;IAKhC,EAAE,EAAE,MAAM,CAAC;IAOX,MAAM,EAAE,MAAM,CAAC;IAOf,QAAQ,EAAE,QAAQ,CAAC;IAQnB,MAAM,EAAE,2BAA2B,CAAC;IASpC,YAAY,EAAE,oBAAoB,CAAC;IAQnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAOzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAQvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ1B,SAAS,EAAE,IAAI,CAAC;IAOhB,eAAe,EAAE,MAAM,CAAC;IASxB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ3C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQhC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQhC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IAQxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ9B,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IAOtB,SAAS,EAAE,IAAI,CAAC;IAOhB,SAAS,EAAE,IAAI,CAAC;IAShB,IAAI,EAAE,IAAI,CAAC;IAQX,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAO1B,aAAa,EAAE,IAAI,CAAC;IAOpB,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAO5C,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAO5B,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAO5B,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B"}
1
+ {"version":3,"file":"friendly-open-challenge.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-open-challenges/friendly-open-challenge.entity.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wEAAwE,CAAC;AA8BpH,qBAiCa,qBAAqB;IAKhC,EAAE,EAAE,MAAM,CAAC;IAOX,MAAM,EAAE,MAAM,CAAC;IAOf,QAAQ,EAAE,QAAQ,CAAC;IAQnB,MAAM,EAAE,2BAA2B,CAAC;IASpC,YAAY,EAAE,oBAAoB,CAAC;IAQnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAOzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAQvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ1B,SAAS,EAAE,IAAI,CAAC;IAOhB,eAAe,EAAE,MAAM,CAAC;IASxB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ3C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQhC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQhC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IAQxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ9B,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IAStB,aAAa,EAAE,OAAO,CAAC;IAQvB,QAAQ,EAAE,MAAM,CAAC;IAOjB,SAAS,EAAE,IAAI,CAAC;IAOhB,SAAS,EAAE,IAAI,CAAC;IAShB,IAAI,EAAE,IAAI,CAAC;IAQX,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAO1B,aAAa,EAAE,IAAI,CAAC;IAOpB,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAO5C,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAO5B,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAO5B,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAG1B,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC"}
@@ -16,6 +16,7 @@ import {
16
16
  Index,
17
17
  JoinColumn,
18
18
  ManyToOne,
19
+ OneToMany,
19
20
  PrimaryGeneratedColumn,
20
21
  UpdateDateColumn
21
22
  } from "typeorm";
@@ -26,6 +27,7 @@ import { Team } from "../../teams/teams/team.entity.js";
26
27
  import { FriendlyOpenChallengeStatus } from "../enums/friendly-open-challenge-status.enum.js";
27
28
  import { FriendlyScheduleKind } from "../enums/friendly-schedule-kind.enum.js";
28
29
  import { FriendlyChallenge } from "../friendly-challenges/friendly-challenge.entity.js";
30
+ import { FriendlyOpenChallengeExtra } from "../friendly-open-challenge-extras/friendly-open-challenge-extra.entity.js";
29
31
  const STATUSES = Object.values(FriendlyOpenChallengeStatus).map((status) => `'${status}'`).join(", ");
30
32
  const MODALITIES = Object.values(Modality).map((modality) => `'${modality}'`).join(", ");
31
33
  const SCHEDULE_KINDS = Object.values(FriendlyScheduleKind).map((kind) => `'${kind}'`).join(", ");
@@ -160,6 +162,21 @@ __decorateClass([
160
162
  comment: "Data/hora do cancelamento ou da expira\xE7\xE3o."
161
163
  })
162
164
  ], FriendlyOpenChallenge.prototype, "closedAt", 2);
165
+ __decorateClass([
166
+ Column({
167
+ name: "closed_by_staff",
168
+ type: "boolean",
169
+ default: false,
170
+ comment: "Tirado do mural pela equipe do back-office: s\xF3 em cancelled e com closed_by_user_id nulo."
171
+ })
172
+ ], FriendlyOpenChallenge.prototype, "closedByStaff", 2);
173
+ __decorateClass([
174
+ Column({
175
+ type: "int",
176
+ default: 0,
177
+ comment: "Sobe em edi\xE7\xE3o, troca de respons\xE1vel, aceite, cancelamento e expira\xE7\xE3o. Os comandos da equipe mandam expectedRevision."
178
+ })
179
+ ], FriendlyOpenChallenge.prototype, "revision", 2);
163
180
  __decorateClass([
164
181
  CreateDateColumn({
165
182
  name: "created_at",
@@ -223,6 +240,9 @@ __decorateClass([
223
240
  foreignKeyConstraintName: "FK_friendly_open_challenges_closed_by_user"
224
241
  })
225
242
  ], FriendlyOpenChallenge.prototype, "closedByUser", 2);
243
+ __decorateClass([
244
+ OneToMany(() => FriendlyOpenChallengeExtra, (extra) => extra.openChallenge)
245
+ ], FriendlyOpenChallenge.prototype, "extras", 2);
226
246
  FriendlyOpenChallenge = __decorateClass([
227
247
  Entity("friendly_open_challenges"),
228
248
  Index("IDX_friendly_open_challenges_team_status", ["teamId", "status"]),
@@ -248,6 +268,10 @@ FriendlyOpenChallenge = __decorateClass([
248
268
  Check(
249
269
  "CHK_friendly_open_challenges_distinct_teams",
250
270
  `"accepted_by_team_id" IS NULL OR "accepted_by_team_id" <> "team_id"`
271
+ ),
272
+ Check(
273
+ "CHK_friendly_open_challenges_closed_by_staff",
274
+ `NOT "closed_by_staff" OR ("status" = 'cancelled' AND "closed_by_user_id" IS NULL)`
251
275
  )
252
276
  ], FriendlyOpenChallenge);
253
277
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"friendly-request.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-requests/friendly-request.entity.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAarD,qBAEa,eAAe;IAK1B,EAAE,EAAE,MAAM,CAAC;IAOX,MAAM,EAAE,MAAM,CAAC;IAOf,iBAAiB,EAAE,MAAM,CAAC;IAO1B,SAAS,EAAE,IAAI,CAAC;IAShB,IAAI,EAAE,IAAI,CAAC;IAOX,eAAe,EAAE,IAAI,CAAC;CACvB"}
1
+ {"version":3,"file":"friendly-request.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-requests/friendly-request.entity.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAOrD,qBAEa,eAAe;IAK1B,EAAE,EAAE,MAAM,CAAC;IAOX,MAAM,EAAE,MAAM,CAAC;IAOf,iBAAiB,EAAE,MAAM,CAAC;IAO1B,SAAS,EAAE,IAAI,CAAC;IAShB,IAAI,EAAE,IAAI,CAAC;IAOX,eAAe,EAAE,IAAI,CAAC;CACvB"}
@@ -31,7 +31,7 @@ __decorateClass([
31
31
  Column({
32
32
  name: "team_id",
33
33
  type: "int",
34
- comment: "FK teams.id. Time do membro, cujos representantes recebem o pedido."
34
+ comment: "FK teams.id. Time do membro que fez o pedido antigo."
35
35
  })
36
36
  ], FriendlyRequest.prototype, "teamId", 2);
37
37
  __decorateClass([
@@ -1,6 +1,8 @@
1
1
  import { User } from '../../app-auth';
2
2
  import { FriendlyScoreEventType } from '../enums/friendly-score-event-type.enum';
3
+ import { FriendlyScoreStaffReason } from '../enums/friendly-score-staff-reason.enum';
3
4
  import { FriendlyMatch } from '../friendly-matches/friendly-match.entity';
5
+ import { FriendlyStaffCommand } from '../friendly-staff-commands/friendly-staff-command.entity';
4
6
  export declare class FriendlyScoreEvent {
5
7
  id: number;
6
8
  friendlyMatchId: number;
@@ -8,8 +10,14 @@ export declare class FriendlyScoreEvent {
8
10
  challengerGoals: number | null;
9
11
  opponentGoals: number | null;
10
12
  userId: string | null;
13
+ staffActorId: string | null;
14
+ staffActorName: string | null;
15
+ reasonCode: FriendlyScoreStaffReason | null;
16
+ note: string | null;
17
+ staffCommandId: string | null;
11
18
  createdAt: Date;
12
19
  match: FriendlyMatch;
13
20
  user: User | null;
21
+ staffCommand: FriendlyStaffCommand | null;
14
22
  }
15
23
  //# sourceMappingURL=friendly-score-event.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"friendly-score-event.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-score-events/friendly-score-event.entity.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAiB1E,qBAca,kBAAkB;IAK7B,EAAE,EAAE,MAAM,CAAC;IAOX,eAAe,EAAE,MAAM,CAAC;IAOxB,IAAI,EAAE,sBAAsB,CAAC;IAS7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAOtB,SAAS,EAAE,IAAI,CAAC;IAShB,KAAK,EAAE,aAAa,CAAC;IAOrB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB"}
1
+ {"version":3,"file":"friendly-score-event.entity.d.ts","sourceRoot":"","sources":["../../../src/friendlies/friendly-score-events/friendly-score-event.entity.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAqDhG,qBA4Ba,kBAAkB;IAK7B,EAAE,EAAE,MAAM,CAAC;IAOX,eAAe,EAAE,MAAM,CAAC;IAQxB,IAAI,EAAE,sBAAsB,CAAC;IAS7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAUtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAS5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAU9B,UAAU,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAO5C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAQpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAO9B,SAAS,EAAE,IAAI,CAAC;IAShB,KAAK,EAAE,aAAa,CAAC;IAOrB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAOlB,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC3C"}