mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 23:53:05 +00:00
3798 lines
No EOL
94 KiB
TypeScript
3798 lines
No EOL
94 KiB
TypeScript
/* tslint:disable */
|
||
/* eslint-disable */
|
||
/**
|
||
* This file was automatically generated by Payload.
|
||
* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
|
||
* and re-run `payload generate:types` to regenerate this file.
|
||
*/
|
||
|
||
/**
|
||
* Supported timezones in IANA format.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "supportedTimezones".
|
||
*/
|
||
export type SupportedTimezones =
|
||
| 'Pacific/Midway'
|
||
| 'Pacific/Niue'
|
||
| 'Pacific/Honolulu'
|
||
| 'Pacific/Rarotonga'
|
||
| 'America/Anchorage'
|
||
| 'Pacific/Gambier'
|
||
| 'America/Los_Angeles'
|
||
| 'America/Tijuana'
|
||
| 'America/Denver'
|
||
| 'America/Phoenix'
|
||
| 'America/Chicago'
|
||
| 'America/Guatemala'
|
||
| 'America/New_York'
|
||
| 'America/Bogota'
|
||
| 'America/Caracas'
|
||
| 'America/Santiago'
|
||
| 'America/Buenos_Aires'
|
||
| 'America/Sao_Paulo'
|
||
| 'Atlantic/South_Georgia'
|
||
| 'Atlantic/Azores'
|
||
| 'Atlantic/Cape_Verde'
|
||
| 'Europe/London'
|
||
| 'Europe/Berlin'
|
||
| 'Africa/Lagos'
|
||
| 'Europe/Athens'
|
||
| 'Africa/Cairo'
|
||
| 'Europe/Moscow'
|
||
| 'Asia/Riyadh'
|
||
| 'Asia/Dubai'
|
||
| 'Asia/Baku'
|
||
| 'Asia/Karachi'
|
||
| 'Asia/Tashkent'
|
||
| 'Asia/Calcutta'
|
||
| 'Asia/Dhaka'
|
||
| 'Asia/Almaty'
|
||
| 'Asia/Jakarta'
|
||
| 'Asia/Bangkok'
|
||
| 'Asia/Shanghai'
|
||
| 'Asia/Singapore'
|
||
| 'Asia/Tokyo'
|
||
| 'Asia/Seoul'
|
||
| 'Australia/Brisbane'
|
||
| 'Australia/Sydney'
|
||
| 'Pacific/Guam'
|
||
| 'Pacific/Noumea'
|
||
| 'Pacific/Auckland'
|
||
| 'Pacific/Fiji';
|
||
|
||
export interface Config {
|
||
auth: {
|
||
users: UserAuthOperations;
|
||
campaignUser: CampaignUserAuthOperations;
|
||
};
|
||
blocks: {};
|
||
collections: {
|
||
users: User;
|
||
campaignUser: CampaignUser;
|
||
campaignWebAuthnCredential: CampaignWebAuthnCredential;
|
||
notification: Notification;
|
||
pushSubscription: PushSubscription;
|
||
campaignInvite: CampaignInvite;
|
||
campaignVoteSummarySnapshot: CampaignVoteSummarySnapshot;
|
||
municipality: Municipality;
|
||
leadership: Leadership;
|
||
organization: Organization;
|
||
stateDeputy: StateDeputy;
|
||
votePledge: VotePledge;
|
||
allocationDecision: AllocationDecision;
|
||
campaignDemand: CampaignDemand;
|
||
supporter: Supporter;
|
||
supporterImportBatch: SupporterImportBatch;
|
||
municipalityUpdate: MunicipalityUpdate;
|
||
activity: Activity;
|
||
speech: Speech;
|
||
speechSegment: SpeechSegment;
|
||
speechCut: SpeechCut;
|
||
internetSpeechMedia: InternetSpeechMedia;
|
||
reel: Reel;
|
||
reelMedia: ReelMedia;
|
||
contentPiece: ContentPiece;
|
||
contentMedia: ContentMedia;
|
||
contentEvent: ContentEvent;
|
||
recording: Recording;
|
||
recordingMedia: RecordingMedia;
|
||
recordingSegment: RecordingSegment;
|
||
calendarFeed: CalendarFeed;
|
||
googleCalendarSync: GoogleCalendarSync;
|
||
electionTally: ElectionTally;
|
||
electionCandidateVote: ElectionCandidateVote;
|
||
electionCandidate: ElectionCandidate;
|
||
media: Media;
|
||
petition: Petition;
|
||
contact: Contact;
|
||
consent: Consent;
|
||
signature: Signature;
|
||
subscription: Subscription;
|
||
post: Post;
|
||
tag: Tag;
|
||
shareLink: ShareLink;
|
||
jingle: Jingle;
|
||
exports: Export;
|
||
imports: Import;
|
||
'payload-kv': PayloadKv;
|
||
'payload-jobs': PayloadJob;
|
||
'payload-locked-documents': PayloadLockedDocument;
|
||
'payload-preferences': PayloadPreference;
|
||
'payload-migrations': PayloadMigration;
|
||
};
|
||
collectionsJoins: {};
|
||
collectionsSelect: {
|
||
users: UsersSelect<false> | UsersSelect<true>;
|
||
campaignUser: CampaignUserSelect<false> | CampaignUserSelect<true>;
|
||
campaignWebAuthnCredential: CampaignWebAuthnCredentialSelect<false> | CampaignWebAuthnCredentialSelect<true>;
|
||
notification: NotificationSelect<false> | NotificationSelect<true>;
|
||
pushSubscription: PushSubscriptionSelect<false> | PushSubscriptionSelect<true>;
|
||
campaignInvite: CampaignInviteSelect<false> | CampaignInviteSelect<true>;
|
||
campaignVoteSummarySnapshot: CampaignVoteSummarySnapshotSelect<false> | CampaignVoteSummarySnapshotSelect<true>;
|
||
municipality: MunicipalitySelect<false> | MunicipalitySelect<true>;
|
||
leadership: LeadershipSelect<false> | LeadershipSelect<true>;
|
||
organization: OrganizationSelect<false> | OrganizationSelect<true>;
|
||
stateDeputy: StateDeputySelect<false> | StateDeputySelect<true>;
|
||
votePledge: VotePledgeSelect<false> | VotePledgeSelect<true>;
|
||
allocationDecision: AllocationDecisionSelect<false> | AllocationDecisionSelect<true>;
|
||
campaignDemand: CampaignDemandSelect<false> | CampaignDemandSelect<true>;
|
||
supporter: SupporterSelect<false> | SupporterSelect<true>;
|
||
supporterImportBatch: SupporterImportBatchSelect<false> | SupporterImportBatchSelect<true>;
|
||
municipalityUpdate: MunicipalityUpdateSelect<false> | MunicipalityUpdateSelect<true>;
|
||
activity: ActivitySelect<false> | ActivitySelect<true>;
|
||
speech: SpeechSelect<false> | SpeechSelect<true>;
|
||
speechSegment: SpeechSegmentSelect<false> | SpeechSegmentSelect<true>;
|
||
speechCut: SpeechCutSelect<false> | SpeechCutSelect<true>;
|
||
internetSpeechMedia: InternetSpeechMediaSelect<false> | InternetSpeechMediaSelect<true>;
|
||
reel: ReelSelect<false> | ReelSelect<true>;
|
||
reelMedia: ReelMediaSelect<false> | ReelMediaSelect<true>;
|
||
contentPiece: ContentPieceSelect<false> | ContentPieceSelect<true>;
|
||
contentMedia: ContentMediaSelect<false> | ContentMediaSelect<true>;
|
||
contentEvent: ContentEventSelect<false> | ContentEventSelect<true>;
|
||
recording: RecordingSelect<false> | RecordingSelect<true>;
|
||
recordingMedia: RecordingMediaSelect<false> | RecordingMediaSelect<true>;
|
||
recordingSegment: RecordingSegmentSelect<false> | RecordingSegmentSelect<true>;
|
||
calendarFeed: CalendarFeedSelect<false> | CalendarFeedSelect<true>;
|
||
googleCalendarSync: GoogleCalendarSyncSelect<false> | GoogleCalendarSyncSelect<true>;
|
||
electionTally: ElectionTallySelect<false> | ElectionTallySelect<true>;
|
||
electionCandidateVote: ElectionCandidateVoteSelect<false> | ElectionCandidateVoteSelect<true>;
|
||
electionCandidate: ElectionCandidateSelect<false> | ElectionCandidateSelect<true>;
|
||
media: MediaSelect<false> | MediaSelect<true>;
|
||
petition: PetitionSelect<false> | PetitionSelect<true>;
|
||
contact: ContactSelect<false> | ContactSelect<true>;
|
||
consent: ConsentSelect<false> | ConsentSelect<true>;
|
||
signature: SignatureSelect<false> | SignatureSelect<true>;
|
||
subscription: SubscriptionSelect<false> | SubscriptionSelect<true>;
|
||
post: PostSelect<false> | PostSelect<true>;
|
||
tag: TagSelect<false> | TagSelect<true>;
|
||
shareLink: ShareLinkSelect<false> | ShareLinkSelect<true>;
|
||
jingle: JingleSelect<false> | JingleSelect<true>;
|
||
exports: ExportsSelect<false> | ExportsSelect<true>;
|
||
imports: ImportsSelect<false> | ImportsSelect<true>;
|
||
'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
|
||
'payload-jobs': PayloadJobsSelect<false> | PayloadJobsSelect<true>;
|
||
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
|
||
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
|
||
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
|
||
};
|
||
db: {
|
||
defaultIDType: number;
|
||
};
|
||
fallbackLocale: null;
|
||
globals: {
|
||
'site-settings': SiteSetting;
|
||
home: Home;
|
||
metadata: Metadatum;
|
||
'privacy-policy': PrivacyPolicy;
|
||
campaignGoals: CampaignGoal;
|
||
'social-feed-settings': SocialFeedSetting;
|
||
};
|
||
globalsSelect: {
|
||
'site-settings': SiteSettingsSelect<false> | SiteSettingsSelect<true>;
|
||
home: HomeSelect<false> | HomeSelect<true>;
|
||
metadata: MetadataSelect<false> | MetadataSelect<true>;
|
||
'privacy-policy': PrivacyPolicySelect<false> | PrivacyPolicySelect<true>;
|
||
campaignGoals: CampaignGoalsSelect<false> | CampaignGoalsSelect<true>;
|
||
'social-feed-settings': SocialFeedSettingsSelect<false> | SocialFeedSettingsSelect<true>;
|
||
};
|
||
locale: null;
|
||
widgets: {
|
||
collections: CollectionsWidget;
|
||
};
|
||
user: User | CampaignUser;
|
||
jobs: {
|
||
tasks: {
|
||
createCollectionExport: TaskCreateCollectionExport;
|
||
createCollectionImport: TaskCreateCollectionImport;
|
||
schedulePublish: TaskSchedulePublish;
|
||
inline: {
|
||
input: unknown;
|
||
output: unknown;
|
||
};
|
||
};
|
||
workflows: unknown;
|
||
};
|
||
}
|
||
export interface UserAuthOperations {
|
||
forgotPassword: {
|
||
email: string;
|
||
password: string;
|
||
};
|
||
login: {
|
||
email: string;
|
||
password: string;
|
||
};
|
||
registerFirstUser: {
|
||
email: string;
|
||
password: string;
|
||
};
|
||
unlock: {
|
||
email: string;
|
||
password: string;
|
||
};
|
||
}
|
||
export interface CampaignUserAuthOperations {
|
||
forgotPassword:
|
||
| {
|
||
email: string;
|
||
}
|
||
| {
|
||
username: string;
|
||
};
|
||
login:
|
||
| {
|
||
email: string;
|
||
password: string;
|
||
}
|
||
| {
|
||
password: string;
|
||
username: string;
|
||
};
|
||
registerFirstUser: {
|
||
password: string;
|
||
username?: string;
|
||
email?: string;
|
||
};
|
||
unlock:
|
||
| {
|
||
email: string;
|
||
}
|
||
| {
|
||
username: string;
|
||
};
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "users".
|
||
*/
|
||
export interface User {
|
||
id: number;
|
||
/**
|
||
* Administrador: acesso total ao painel. Editor: publica notícias/tags/mídia — sem PII nem campanha. Contas novas de comunicação devem ser “Editor”.
|
||
*/
|
||
roles: ('admin' | 'editor')[];
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
email: string;
|
||
resetPasswordToken?: string | null;
|
||
resetPasswordExpiration?: string | null;
|
||
salt?: string | null;
|
||
hash?: string | null;
|
||
loginAttempts?: number | null;
|
||
lockUntil?: string | null;
|
||
sessions?:
|
||
| {
|
||
id: string;
|
||
createdAt?: string | null;
|
||
expiresAt: string;
|
||
}[]
|
||
| null;
|
||
password?: string | null;
|
||
collection: 'users';
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignUser".
|
||
*/
|
||
export interface CampaignUser {
|
||
id: number;
|
||
contact?: (number | null) | Contact;
|
||
name: string;
|
||
avatar?: (number | null) | Media;
|
||
role: 'coordinator' | 'advisor' | 'candidate' | 'communicator' | 'leader';
|
||
/**
|
||
* O que o assessor enxerga no /campanha.
|
||
*/
|
||
visibility?: ('carteira' | 'tudo') | null;
|
||
/**
|
||
* O que o assessor pode editar no /campanha.
|
||
*/
|
||
editing?: ('carteira' | 'tudo' | 'somente_leitura') | null;
|
||
phone?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
email?: string | null;
|
||
username?: string | null;
|
||
resetPasswordToken?: string | null;
|
||
resetPasswordExpiration?: string | null;
|
||
salt?: string | null;
|
||
hash?: string | null;
|
||
loginAttempts?: number | null;
|
||
lockUntil?: string | null;
|
||
sessions?:
|
||
| {
|
||
id: string;
|
||
createdAt?: string | null;
|
||
expiresAt: string;
|
||
}[]
|
||
| null;
|
||
password?: string | null;
|
||
collection: 'campaignUser';
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "contact".
|
||
*/
|
||
export interface Contact {
|
||
id: number;
|
||
name: string;
|
||
email?: string | null;
|
||
phones?:
|
||
| {
|
||
value?: string | null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
gender?: ('feminino' | 'masculino' | 'outro' | 'nao_informado') | null;
|
||
state?:
|
||
| (
|
||
| 'AC'
|
||
| 'AL'
|
||
| 'AM'
|
||
| 'AP'
|
||
| 'BA'
|
||
| 'CE'
|
||
| 'DF'
|
||
| 'ES'
|
||
| 'GO'
|
||
| 'MA'
|
||
| 'MG'
|
||
| 'MS'
|
||
| 'MT'
|
||
| 'PA'
|
||
| 'PB'
|
||
| 'PE'
|
||
| 'PI'
|
||
| 'PR'
|
||
| 'RJ'
|
||
| 'RN'
|
||
| 'RO'
|
||
| 'RR'
|
||
| 'RS'
|
||
| 'SC'
|
||
| 'SE'
|
||
| 'SP'
|
||
| 'TO'
|
||
)
|
||
| null;
|
||
city?: string | null;
|
||
postalCode?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "media".
|
||
*/
|
||
export interface Media {
|
||
id: number;
|
||
/**
|
||
* Descrição da imagem para acessibilidade.
|
||
*/
|
||
alt: string;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
url?: string | null;
|
||
thumbnailURL?: string | null;
|
||
filename?: string | null;
|
||
mimeType?: string | null;
|
||
filesize?: number | null;
|
||
width?: number | null;
|
||
height?: number | null;
|
||
focalX?: number | null;
|
||
focalY?: number | null;
|
||
}
|
||
/**
|
||
* Chaves públicas dos aparelhos que entram com digital ou Face ID. Nenhum dado biométrico é armazenado.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignWebAuthnCredential".
|
||
*/
|
||
export interface CampaignWebAuthnCredential {
|
||
id: number;
|
||
user: number | CampaignUser;
|
||
credentialId: string;
|
||
publicKey: string;
|
||
counter: number;
|
||
transports?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
deviceLabel: string;
|
||
lastUsedAt?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Avisos in-app e push da campanha. Cada linha pertence a um destinatário.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "notification".
|
||
*/
|
||
export interface Notification {
|
||
id: number;
|
||
recipient: number | CampaignUser;
|
||
type: 'municipality_update' | 'new_supporter' | 'activity_attention' | 'invite_accepted';
|
||
/**
|
||
* Título, detalhe e href exibidos no sino e no push.
|
||
*/
|
||
payload:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
municipality?: (number | null) | Municipality;
|
||
readAt?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Os 435 municípios operacionais são pré-definidos (município inteiro, ou zona eleitoral em Salvador) e criados por migração. A geografia não é editável.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "municipality".
|
||
*/
|
||
export interface Municipality {
|
||
id: number;
|
||
name: string;
|
||
slug: string;
|
||
kind: 'municipio' | 'zona';
|
||
city: string;
|
||
region: string;
|
||
ibgeCode: string;
|
||
tseCityCode: string;
|
||
/**
|
||
* Preenchido apenas para municípios de zona (Salvador).
|
||
*/
|
||
zoneNumber?: number | null;
|
||
advisors?: (number | CampaignUser)[] | null;
|
||
priority?: ('alta' | 'normal') | null;
|
||
/**
|
||
* Quanto a campanha investe neste município (N0 a N4). Movimento é decisão da coordenação e fica registrado em Decisões de alocação.
|
||
*/
|
||
engagementLevel?: ('n0' | 'n1' | 'n2' | 'n3' | 'n4') | null;
|
||
/**
|
||
* Motivo corrente do nível — o histórico vive em Decisões de alocação.
|
||
*/
|
||
levelNote?: string | null;
|
||
/**
|
||
* Derivado da última mudança de nível.
|
||
*/
|
||
levelChangedAt?: string | null;
|
||
/**
|
||
* Total esperado do município por cenário (pessimista/média/otimista) — distinto da soma das lideranças.
|
||
*/
|
||
expectedVotes?: {
|
||
pessimistic?: number | null;
|
||
central?: number | null;
|
||
optimistic?: number | null;
|
||
};
|
||
/**
|
||
* Leitura de conjuntura registrada pela coordenação (alianças, prefeitos, disputas locais) — não é série numérica.
|
||
*/
|
||
politicalTrend?: {
|
||
status?: ('favoravel' | 'neutra' | 'desfavoravel') | null;
|
||
note?: string | null;
|
||
recordedBy?: (number | null) | CampaignUser;
|
||
recordedAt?: string | null;
|
||
};
|
||
strengths?:
|
||
| {
|
||
text: string;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
risks?:
|
||
| {
|
||
text: string;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
stateDeputies?: (number | StateDeputy)[] | null;
|
||
/**
|
||
* Quem dobra no município hoje e o estado da negociação.
|
||
*/
|
||
dobradinhaNotes?: string | null;
|
||
/**
|
||
* Próximos passos operacionais para o município.
|
||
*/
|
||
nextSteps?: string | null;
|
||
/**
|
||
* Emendas parlamentares aportadas no município (valores, anos, situação) — nota manual da coordenação (G11).
|
||
*/
|
||
budgetNotes?: string | null;
|
||
/**
|
||
* Derivado automaticamente do feed de atualizações do município.
|
||
*/
|
||
lastUpdateAt?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Deputados estaduais com quem a campanha dobra. Vincule a municípios e lideranças nas fichas correspondentes.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "stateDeputy".
|
||
*/
|
||
export interface StateDeputy {
|
||
id: number;
|
||
contact: number | Contact;
|
||
slug: string;
|
||
party?: string | null;
|
||
/**
|
||
* Como o nome da dobradinha deve aparecer na urna (ex.: apelido ou abreviação).
|
||
*/
|
||
ballotName?: string | null;
|
||
notes?: string | null;
|
||
advisors?: (number | CampaignUser)[] | null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Endpoints Web Push por dispositivo. Não armazena dados biométricos.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "pushSubscription".
|
||
*/
|
||
export interface PushSubscription {
|
||
id: number;
|
||
user: number | CampaignUser;
|
||
endpoint: string;
|
||
p256dh: string;
|
||
auth: string;
|
||
expirationTime?: number | null;
|
||
consent: number | Consent;
|
||
consentContentHash: string;
|
||
consentedAt: string;
|
||
userAgent?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "consent".
|
||
*/
|
||
export interface Consent {
|
||
id: number;
|
||
/**
|
||
* Identificador estável para referências no código.
|
||
*/
|
||
key?: string | null;
|
||
text: {
|
||
root: {
|
||
type: string;
|
||
children: {
|
||
type: any;
|
||
version: number;
|
||
[k: string]: unknown;
|
||
}[];
|
||
direction: ('ltr' | 'rtl') | null;
|
||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||
indent: number;
|
||
version: number;
|
||
};
|
||
[k: string]: unknown;
|
||
};
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignInvite".
|
||
*/
|
||
export interface CampaignInvite {
|
||
id: number;
|
||
tokenHash: string;
|
||
leadership: number | Leadership;
|
||
kind: 'login' | 'autopreenchimento';
|
||
expiresAt: string;
|
||
usedAt?: string | null;
|
||
revokedAt?: string | null;
|
||
createdBy: number | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "leadership".
|
||
*/
|
||
export interface Leadership {
|
||
id: number;
|
||
contact: number | Contact;
|
||
municipalities: (number | Municipality)[];
|
||
organizations?: (number | Organization)[] | null;
|
||
stateDeputies?: (number | StateDeputy)[] | null;
|
||
advisors?: (number | CampaignUser)[] | null;
|
||
exclusive?: boolean | null;
|
||
supportStatus: 'engajado' | 'a_abordar' | 'em_disputa' | 'lembranca' | 'negativo';
|
||
user?: (number | null) | CampaignUser;
|
||
consent?: (number | null) | Consent;
|
||
consentContentHash?: string | null;
|
||
consentedAt?: string | null;
|
||
notes?: string | null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Sindicatos, associações, movimentos e afins. Concentra lideranças associadas e atividades apoiadas.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "organization".
|
||
*/
|
||
export interface Organization {
|
||
id: number;
|
||
name: string;
|
||
slug: string;
|
||
kind: 'sindicato' | 'associacao' | 'religioso' | 'movimento' | 'categoria_profissional' | 'outro';
|
||
municipalities?: (number | Municipality)[] | null;
|
||
notes?: string | null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignVoteSummarySnapshot".
|
||
*/
|
||
export interface CampaignVoteSummarySnapshot {
|
||
id: number;
|
||
/**
|
||
* Dia civil America/Bahia (`aaaa-mm-dd`), armazenado como meia-noite UTC.
|
||
*/
|
||
day: string;
|
||
scopeKey: string;
|
||
staffVoteTotalCentral: number;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "votePledge".
|
||
*/
|
||
export interface VotePledge {
|
||
id: number;
|
||
leadership: number | Leadership;
|
||
municipality: number | Municipality;
|
||
declaredVotes: number;
|
||
declaredAt?: string | null;
|
||
declaredBy?: (number | null) | CampaignUser;
|
||
/**
|
||
* Faixa interna pessimista / média / otimista. A liderança nunca vê estes números.
|
||
*/
|
||
estimatedVotes?: {
|
||
pessimistic?: number | null;
|
||
central?: number | null;
|
||
optimistic?: number | null;
|
||
};
|
||
estimateNote?: string | null;
|
||
estimatedBy?: (number | null) | CampaignUser;
|
||
estimatedAt?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "allocationDecision".
|
||
*/
|
||
export interface AllocationDecision {
|
||
id: number;
|
||
municipality: number | Municipality;
|
||
patternId: string;
|
||
outcome: 'aceita' | 'descarta' | 'movimento' | 'adiada';
|
||
rationale?: string | null;
|
||
alternativeReading?: string | null;
|
||
/**
|
||
* Somente os números e classificações usados no momento da decisão.
|
||
*/
|
||
snapshot:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
decidedBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Necessidades operacionais da campanha. Custo e comprovantes são controle interno — não substituem a prestação de contas oficial (SPCE/TSE).
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignDemand".
|
||
*/
|
||
export interface CampaignDemand {
|
||
id: number;
|
||
title: string;
|
||
slug: string;
|
||
kind:
|
||
| 'material'
|
||
| 'servico'
|
||
| 'transporte'
|
||
| 'alimentacao'
|
||
| 'infraestrutura'
|
||
| 'espaco'
|
||
| 'equipamento'
|
||
| 'pessoal_apoio'
|
||
| 'outro';
|
||
description?: string | null;
|
||
municipality: number | Municipality;
|
||
activity?: (number | null) | Activity;
|
||
leadership?: (number | null) | Leadership;
|
||
/**
|
||
* Só responsáveis, candidato e coordenador veem a demanda. O criador entra automaticamente.
|
||
*/
|
||
responsibles?: (number | CampaignUser)[] | null;
|
||
status: 'aberta' | 'em_analise' | 'escalada' | 'aprovada' | 'rejeitada';
|
||
decisionNote?: string | null;
|
||
decidedBy?: (number | null) | CampaignUser;
|
||
decidedAt?: string | null;
|
||
/**
|
||
* Controle interno de gastos. Não substitui a prestação de contas oficial.
|
||
*/
|
||
cost?: number | null;
|
||
/**
|
||
* Documentos fiscais podem conter CPF/CNPJ — acesso restrito ao staff. Não substitui o SPCE.
|
||
*/
|
||
receipts?: (number | Media)[] | null;
|
||
statusHistory?:
|
||
| {
|
||
status: 'aberta' | 'em_analise' | 'escalada' | 'aprovada' | 'rejeitada';
|
||
note?: string | null;
|
||
author?: (number | null) | CampaignUser;
|
||
createdAt?: string | null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "activity".
|
||
*/
|
||
export interface Activity {
|
||
id: number;
|
||
title: string;
|
||
slug: string;
|
||
/**
|
||
* Classificação livre do compromisso (ex.: comício, imprensa, reunião).
|
||
*/
|
||
tags?: string[] | null;
|
||
status: 'confirmado' | 'realizado' | 'cancelado';
|
||
description?: string | null;
|
||
/**
|
||
* Marque quando o deputado Jorge Solla estiver presente na atividade.
|
||
*/
|
||
deputyPresent?: boolean | null;
|
||
/**
|
||
* Compromisso que ocupa um ou mais dias inteiros, sem horário.
|
||
*/
|
||
allDay?: boolean | null;
|
||
/**
|
||
* Quando marcado, este evento poderá ser publicado no site do candidato (futuro).
|
||
*/
|
||
publicEvent?: boolean | null;
|
||
startAt?: string | null;
|
||
endAt?: string | null;
|
||
municipality?: (number | null) | Municipality;
|
||
locality?: string | null;
|
||
organizations?: (number | Organization)[] | null;
|
||
responsible?:
|
||
| (
|
||
| {
|
||
relationTo: 'campaignUser';
|
||
value: number | CampaignUser;
|
||
}
|
||
| {
|
||
relationTo: 'leadership';
|
||
value: number | Leadership;
|
||
}
|
||
| {
|
||
relationTo: 'stateDeputy';
|
||
value: number | StateDeputy;
|
||
}
|
||
)[]
|
||
| null;
|
||
tasks?:
|
||
| {
|
||
title: string;
|
||
responsible?: (number | null) | Contact;
|
||
done?: boolean | null;
|
||
doneAt?: string | null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
taskTotal?: number | null;
|
||
taskDoneCount?: number | null;
|
||
updates?:
|
||
| {
|
||
body: string;
|
||
author?: (number | null) | CampaignUser;
|
||
createdAt?: string | null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
/**
|
||
* O que aconteceu, público, aprendizados. Vira base para futuras atividades no mesmo município.
|
||
*/
|
||
resultSummary?: string | null;
|
||
resultMedia?: (number | Media)[] | null;
|
||
resultRecordedBy?: (number | null) | CampaignUser;
|
||
resultRecordedAt?: string | null;
|
||
lastMirroredChangeAt?: string | null;
|
||
googleEventId?: string | null;
|
||
googleCalendarId?: string | null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "supporter".
|
||
*/
|
||
export interface Supporter {
|
||
id: number;
|
||
contact: number | Contact;
|
||
municipality?: (number | null) | Municipality;
|
||
voteIntention?: ('certo' | 'tende_a_certo' | 'indeciso' | 'outro') | null;
|
||
consent?: (number | null) | Consent;
|
||
consentContentHash?: string | null;
|
||
consentedAt?: string | null;
|
||
voteIntentionConsent?: (number | null) | Consent;
|
||
voteIntentionConsentContentHash?: string | null;
|
||
voteIntentionConsentedAt?: string | null;
|
||
source: 'import_csv' | 'manual' | 'lideranca' | 'convite' | 'evento';
|
||
consentNote?: string | null;
|
||
notes?: string | null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "supporterImportBatch".
|
||
*/
|
||
export interface SupporterImportBatch {
|
||
id: number;
|
||
batchId: string;
|
||
actor?: (number | null) | CampaignUser;
|
||
expiresAt: string;
|
||
rows:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "municipalityUpdate".
|
||
*/
|
||
export interface MunicipalityUpdate {
|
||
id: number;
|
||
municipality: number | Municipality;
|
||
author: number | CampaignUser;
|
||
polarity: 'boa' | 'neutra' | 'ruim';
|
||
urgent?: boolean | null;
|
||
adversarySignal?: boolean | null;
|
||
body: string;
|
||
activeVolunteers?: number | null;
|
||
newSupports?: number | null;
|
||
/**
|
||
* Staff do município ou coordenação que acompanha este fato.
|
||
*/
|
||
responsible?: (number | null) | CampaignUser;
|
||
resolvedBy?: (number | null) | CampaignUser;
|
||
resolvedAt?: string | null;
|
||
/**
|
||
* Fio de deliberação sobre esta atualização.
|
||
*/
|
||
comments?:
|
||
| {
|
||
body: string;
|
||
author?: (number | null) | CampaignUser;
|
||
createdAt?: string | null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Acervo de falas do deputado: discursos na Câmara (CC BY 4.0) e falas publicadas na internet (mídia espelhada privada).
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "speech".
|
||
*/
|
||
export interface Speech {
|
||
id: number;
|
||
/**
|
||
* Identidade da fala: API da Câmara ou web:<plataforma>:<id|url>.
|
||
*/
|
||
sourceKey: string;
|
||
/**
|
||
* Discurso da Câmara ou fala publicada na internet.
|
||
*/
|
||
origin: 'camara' | 'web';
|
||
/**
|
||
* Horário local de Brasília, como publicado pela Câmara.
|
||
*/
|
||
speechAt: string;
|
||
year?: number | null;
|
||
legislature?: ('54' | '55' | '56' | '57') | null;
|
||
type?: string | null;
|
||
phase?: string | null;
|
||
durationSeconds?: number | null;
|
||
summary?: string | null;
|
||
officialTranscript?: string | null;
|
||
officialTextUrl?: string | null;
|
||
/**
|
||
* Preservadas cruas; as facetas não as substituem.
|
||
*/
|
||
keywords?: string[] | null;
|
||
/**
|
||
* Concatenação normalizada dos segmentos (sem acentos); mantida pelo import.
|
||
*/
|
||
searchText?: string | null;
|
||
eventId?: number | null;
|
||
eventType?: string | null;
|
||
eventStartAt?: string | null;
|
||
eventEndAt?: string | null;
|
||
youtubeUrl?: string | null;
|
||
/**
|
||
* Derivado das trocas de mesa da sessão; vazio quando não há registro.
|
||
*/
|
||
presidingOfficer?: string | null;
|
||
audioId?: number | null;
|
||
excerptTMs?: number | null;
|
||
/**
|
||
* Último link conhecido; regerável pelo VOD.
|
||
*/
|
||
vodPlaybackUrl?: string | null;
|
||
/**
|
||
* Último link conhecido; regerável pelo VOD.
|
||
*/
|
||
vodDownloadUrl?: string | null;
|
||
/**
|
||
* Plataforma de origem da fala da internet.
|
||
*/
|
||
platform?: ('youtube' | 'instagram' | 'radio' | 'audio') | null;
|
||
/**
|
||
* Identificador da publicação na plataforma (quando houver).
|
||
*/
|
||
externalId?: string | null;
|
||
/**
|
||
* Link canônico da publicação original.
|
||
*/
|
||
sourceUrl?: string | null;
|
||
/**
|
||
* Título da publicação na plataforma.
|
||
*/
|
||
title?: string | null;
|
||
/**
|
||
* Quem publicou (canal, rádio, perfil) — texto de origem, não é contato.
|
||
*/
|
||
channel?: string | null;
|
||
/**
|
||
* Arquivo privado preservado para player, download e cortes.
|
||
*/
|
||
mirroredMedia?: (number | null) | InternetSpeechMedia;
|
||
/**
|
||
* Capa da origem quando capturada; sem ela a lista mostra placeholder.
|
||
*/
|
||
thumbnail?: (number | null) | InternetSpeechMedia;
|
||
topics?:
|
||
| (
|
||
| 'saude'
|
||
| 'educacao'
|
||
| 'cultura'
|
||
| 'esporte'
|
||
| 'seguranca-publica'
|
||
| 'meio-ambiente'
|
||
| 'economia-trabalho'
|
||
| 'direitos-humanos'
|
||
| 'infraestrutura'
|
||
| 'ciencia-tecnologia'
|
||
| 'politica-instituicoes'
|
||
| 'agricultura'
|
||
| 'habitacao-cidades'
|
||
| 'comunicacao-midia'
|
||
| 'igualdade-racial'
|
||
| 'mulheres-genero'
|
||
| 'juventude'
|
||
| 'pessoa-deficiencia'
|
||
)[]
|
||
| null;
|
||
scopes?: ('bahia' | 'brasil' | 'internacional')[] | null;
|
||
classifiedBy: 'gazetteer' | 'llm' | 'manual';
|
||
mentionedMunicipalities?: (number | Municipality)[] | null;
|
||
/**
|
||
* Menções textuais — não é cadastro de contatos.
|
||
*/
|
||
mentionedPeople?: string[] | null;
|
||
mentionedPrograms?: string[] | null;
|
||
mentionedProjects?: string[] | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Arquivos privados das falas encontradas na internet (mídia espelhada e capa). Só abrem com login da campanha.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "internetSpeechMedia".
|
||
*/
|
||
export interface InternetSpeechMedia {
|
||
id: number;
|
||
/**
|
||
* Descrição do arquivo para acessibilidade.
|
||
*/
|
||
alt: string;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
url?: string | null;
|
||
thumbnailURL?: string | null;
|
||
filename?: string | null;
|
||
mimeType?: string | null;
|
||
filesize?: number | null;
|
||
width?: number | null;
|
||
height?: number | null;
|
||
focalX?: number | null;
|
||
focalY?: number | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "speechSegment".
|
||
*/
|
||
export interface SpeechSegment {
|
||
id: number;
|
||
speech: number | Speech;
|
||
order: number;
|
||
startSeconds: number;
|
||
endSeconds: number;
|
||
text: string;
|
||
/**
|
||
* Derivado do texto (sem acentos, minúsculas) para a busca por palavra.
|
||
*/
|
||
searchText: string;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Cortes do acervo de falas publicados em /corte/<id>. Dados e vídeos da Câmara dos Deputados (CC BY 4.0).
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "speechCut".
|
||
*/
|
||
export interface SpeechCut {
|
||
id: number;
|
||
/**
|
||
* Fala de origem do corte. Preenchida pelo fluxo; fica vazia se a fala for excluída (o link público continua válido).
|
||
*/
|
||
speech?: (number | null) | Speech;
|
||
startSeconds: number;
|
||
endSeconds: number;
|
||
/**
|
||
* Derivada do trecho escolhido.
|
||
*/
|
||
durationSeconds?: number | null;
|
||
title: string;
|
||
description: string;
|
||
/**
|
||
* Despublicar tira o corte do ar na hora (kill switch).
|
||
*/
|
||
status: 'processing' | 'published' | 'unpublished' | 'failed';
|
||
/**
|
||
* Progresso honesto do corte em andamento.
|
||
*/
|
||
step?: ('resolving' | 'cutting' | 'metadata' | 'publishing') | null;
|
||
/**
|
||
* O arquivo que a página pública toca e baixa.
|
||
*/
|
||
media?: (number | null) | Media;
|
||
/**
|
||
* Motivo interno da falha; nunca vai ao público.
|
||
*/
|
||
error?: string | null;
|
||
publishedAt?: string | null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Reels de tutorial da assessoria. Os arquivos são privados e só abrem com login da campanha; publicar não dispara nada no Instagram.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "reel".
|
||
*/
|
||
export interface Reel {
|
||
id: number;
|
||
title: string;
|
||
/**
|
||
* Funcionalidade do site que o tutorial ensina.
|
||
*/
|
||
feature: 'cards';
|
||
/**
|
||
* Hash do shot list do pacote; identifica o reel na ingestão (C195).
|
||
*/
|
||
sourceHash?: string | null;
|
||
/**
|
||
* Despublicar tira o reel da biblioteca e para de servir os arquivos (kill switch).
|
||
*/
|
||
status: 'draft' | 'published' | 'unpublished';
|
||
/**
|
||
* MP4 1080×1920 sem áudio — o arquivo principal que a assessoria baixa.
|
||
*/
|
||
video: number | ReelMedia;
|
||
/**
|
||
* Variante com a narração embutida, quando existir.
|
||
*/
|
||
videoWithAudio?: (number | null) | ReelMedia;
|
||
/**
|
||
* Rascunho da narração em áudio, quando existir.
|
||
*/
|
||
narrationAudio?: (number | null) | ReelMedia;
|
||
/**
|
||
* Arquivo de legenda pronto, vindo da produção.
|
||
*/
|
||
captions?: (number | null) | ReelMedia;
|
||
/**
|
||
* Imagem vertical usada na biblioteca e no player.
|
||
*/
|
||
cover: number | ReelMedia;
|
||
/**
|
||
* Texto da narração ou roteiro, vindo da produção.
|
||
*/
|
||
transcript?: string | null;
|
||
publishedAt?: string | null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Arquivos privados dos reels (vídeo, narração, legenda, capa). Só abrem com login da campanha.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "reelMedia".
|
||
*/
|
||
export interface ReelMedia {
|
||
id: number;
|
||
/**
|
||
* Descrição do artefato para acessibilidade (capa e vídeo).
|
||
*/
|
||
alt: string;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
url?: string | null;
|
||
thumbnailURL?: string | null;
|
||
filename?: string | null;
|
||
mimeType?: string | null;
|
||
filesize?: number | null;
|
||
width?: number | null;
|
||
height?: number | null;
|
||
focalX?: number | null;
|
||
focalY?: number | null;
|
||
}
|
||
/**
|
||
* Peças de campanha da Central de Conteúdos. O arquivo é privado; "Rascunho" não aparece na Central pública.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "contentPiece".
|
||
*/
|
||
export interface ContentPiece {
|
||
id: number;
|
||
title: string;
|
||
/**
|
||
* Gerado no primeiro "Publicar" a partir do título e imutável depois. Despublicar não apaga o endereço.
|
||
*/
|
||
slug?: string | null;
|
||
/**
|
||
* Derivado do arquivo no envio; a assessoria pode ajustar (ex.: card).
|
||
*/
|
||
type: 'video' | 'foto' | 'texto' | 'audio' | 'card';
|
||
description?: string | null;
|
||
topics?:
|
||
| (
|
||
| 'saude'
|
||
| 'educacao'
|
||
| 'cultura'
|
||
| 'esporte'
|
||
| 'seguranca-publica'
|
||
| 'meio-ambiente'
|
||
| 'economia-trabalho'
|
||
| 'direitos-humanos'
|
||
| 'infraestrutura'
|
||
| 'ciencia-tecnologia'
|
||
| 'politica-instituicoes'
|
||
| 'agricultura'
|
||
| 'habitacao-cidades'
|
||
| 'comunicacao-midia'
|
||
| 'igualdade-racial'
|
||
| 'mulheres-genero'
|
||
| 'juventude'
|
||
| 'pessoa-deficiencia'
|
||
)[]
|
||
| null;
|
||
/**
|
||
* Município da campanha relacionado à peça (opcional).
|
||
*/
|
||
municipality?: (number | null) | Municipality;
|
||
/**
|
||
* Derivado do município relacionado.
|
||
*/
|
||
cityLabel?: string | null;
|
||
/**
|
||
* Território de identidade derivado do município.
|
||
*/
|
||
region?: string | null;
|
||
institution?: string | null;
|
||
pieceDate?: string | null;
|
||
/**
|
||
* Medida pelo provedor de transcrição; nunca estimada.
|
||
*/
|
||
durationSeconds?: number | null;
|
||
/**
|
||
* Transcrição do áudio/vídeo ou texto extraído. Editável pela assessoria.
|
||
*/
|
||
transcript?: string | null;
|
||
/**
|
||
* O arquivo privado; publicado, é o que a Central pública serve.
|
||
*/
|
||
media?: (number | null) | ContentMedia;
|
||
/**
|
||
* Link canônico do Instagram/YouTube quando a peça entrou por link.
|
||
*/
|
||
sourceUrl?: string | null;
|
||
origin: 'arquivo' | 'instagram' | 'youtube';
|
||
/**
|
||
* Despublicar tira a peça da Central pública na hora e preserva o arquivo.
|
||
*/
|
||
status: 'rascunho' | 'publicado';
|
||
publishedAt?: string | null;
|
||
processingStatus: 'processando' | 'pronto' | 'falhou';
|
||
/**
|
||
* Progresso honesto do processamento em andamento.
|
||
*/
|
||
step?: ('extraindo' | 'transcrevendo' | 'catalogando' | 'salvando') | null;
|
||
/**
|
||
* Motivo interno da falha; nunca vai à pessoa com o detalhe cru.
|
||
*/
|
||
error?: string | null;
|
||
/**
|
||
* Por que uma peça do Instagram ficou só como link; preenchido pelo processamento.
|
||
*/
|
||
linkFailureReason?: ('nao-encontrado' | 'carrossel' | 'indisponivel' | 'sem-credencial') | null;
|
||
/**
|
||
* Título, descrição, transcrição, temas, cidade e instituição normalizados (sem acentos, minúsculas).
|
||
*/
|
||
searchText?: string | null;
|
||
/**
|
||
* O que a assessoria já editou; a catalogação automática nunca sobrescreve estes campos.
|
||
*/
|
||
curatedFields?:
|
||
| ('title' | 'description' | 'topics' | 'municipality' | 'institution' | 'pieceDate' | 'transcript' | 'type')[]
|
||
| null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Arquivos das peças da Central de Conteúdos. Só abrem com login da campanha.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "contentMedia".
|
||
*/
|
||
export interface ContentMedia {
|
||
id: number;
|
||
/**
|
||
* Descrição do arquivo para acessibilidade.
|
||
*/
|
||
alt: string;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
url?: string | null;
|
||
thumbnailURL?: string | null;
|
||
filename?: string | null;
|
||
mimeType?: string | null;
|
||
filesize?: number | null;
|
||
width?: number | null;
|
||
height?: number | null;
|
||
focalX?: number | null;
|
||
focalY?: number | null;
|
||
}
|
||
/**
|
||
* Eventos anônimos de circulação (abertura, download, compartilhamento).
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "contentEvent".
|
||
*/
|
||
export interface ContentEvent {
|
||
id: number;
|
||
type: 'abertura' | 'download' | 'compartilhar_whatsapp' | 'compartilhar_link';
|
||
subjectType: 'peca' | 'card';
|
||
/**
|
||
* Id interno da peça (peça) ou do modelo (card). Nunca um identificador de visitante.
|
||
*/
|
||
subjectId: string;
|
||
/**
|
||
* Slug do estadual escolhido (modelos de card com escolha estadual). Nunca um identificador de visitante.
|
||
*/
|
||
variant?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Gravações próprias da equipe no acervo. O arquivo é privado; a transcrição é somente leitura.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "recording".
|
||
*/
|
||
export interface Recording {
|
||
id: number;
|
||
title: string;
|
||
/**
|
||
* Data em que a gravação foi feita (opcional).
|
||
*/
|
||
recordedAt?: string | null;
|
||
status: 'uploading' | 'processing' | 'ready' | 'failed';
|
||
/**
|
||
* Progresso honesto da transcrição em andamento.
|
||
*/
|
||
step?: ('extracting' | 'transcribing' | 'saving') | null;
|
||
/**
|
||
* O arquivo privado que o player toca e o download entrega.
|
||
*/
|
||
media?: (number | null) | RecordingMedia;
|
||
/**
|
||
* Derivada do áudio transcrito.
|
||
*/
|
||
durationSeconds?: number | null;
|
||
/**
|
||
* Concatenação normalizada dos segmentos (sem acentos, minúsculas).
|
||
*/
|
||
searchText?: string | null;
|
||
/**
|
||
* Rótulos humanos por agrupamento acústico (chave → nome). Identificação sempre humana; o acervo nunca sugere ou infere pessoas.
|
||
*/
|
||
speakerLabels?:
|
||
| {
|
||
speakerKey: string;
|
||
label: string;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
/**
|
||
* Derivado dos rótulos (sem duplicatas, sem diferenciar maiúsculas) para a faceta "Pessoa".
|
||
*/
|
||
speakerNames?: string[] | null;
|
||
/**
|
||
* Ligado quando um reprocessamento reordenou os agrupamentos e algum rótulo não pôde ser re-vinculado.
|
||
*/
|
||
speakerLabelsDropped?: boolean | null;
|
||
/**
|
||
* Motivo interno da falha; nunca vai à pessoa com o detalhe cru.
|
||
*/
|
||
error?: string | null;
|
||
createdBy?: (number | null) | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Arquivos privados das gravações enviadas ao acervo. Só abrem com login da campanha.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "recordingMedia".
|
||
*/
|
||
export interface RecordingMedia {
|
||
id: number;
|
||
/**
|
||
* Descrição do arquivo para acessibilidade.
|
||
*/
|
||
alt: string;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
url?: string | null;
|
||
thumbnailURL?: string | null;
|
||
filename?: string | null;
|
||
mimeType?: string | null;
|
||
filesize?: number | null;
|
||
width?: number | null;
|
||
height?: number | null;
|
||
focalX?: number | null;
|
||
focalY?: number | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "recordingSegment".
|
||
*/
|
||
export interface RecordingSegment {
|
||
id: number;
|
||
recording: number | Recording;
|
||
order: number;
|
||
/**
|
||
* Chave do agrupamento acústico ("Falante N") do trecho; vazio sem diarização.
|
||
*/
|
||
speakerKey?: string | null;
|
||
startSeconds: number;
|
||
endSeconds: number;
|
||
text: string;
|
||
/**
|
||
* Derivado do texto (sem acentos, minúsculas) para a busca por palavra.
|
||
*/
|
||
searchText: string;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "calendarFeed".
|
||
*/
|
||
export interface CalendarFeed {
|
||
id: number;
|
||
secretSlug: string;
|
||
/**
|
||
* Nome descritivo para identificar o feed (ex: "Só deputado presente")
|
||
*/
|
||
label: string;
|
||
/**
|
||
* Se vazio, inclui todos os municípios do escopo do criador
|
||
*/
|
||
filterMunicipality?: (number | null) | Municipality;
|
||
filterDeputyPresent?: boolean | null;
|
||
/**
|
||
* Se vazio, inclui todas as tags
|
||
*/
|
||
filterTag?: string | null;
|
||
revokedAt?: string | null;
|
||
createdBy: number | CampaignUser;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "googleCalendarSync".
|
||
*/
|
||
export interface GoogleCalendarSync {
|
||
id: number;
|
||
/**
|
||
* O calendarId do calendário "Agenda da Campanha" na conta Google da campanha (ex.: c_…@group.calendar.google.com). O calendário precisa estar público no link e a service account com permissão de edição.
|
||
*/
|
||
calendarId?: string | null;
|
||
/**
|
||
* Credencial da conexão OAuth com a conta Google da campanha. Preenchida pelo callback do botão "Conectar com o Google"; nunca é exibida.
|
||
*/
|
||
oauthRefreshToken?: string | null;
|
||
/**
|
||
* Escopos que o Google devolveu na conexão (diagnóstico).
|
||
*/
|
||
oauthScope?: string | null;
|
||
oauthConnectedAt?: string | null;
|
||
oauthErrorAt?: string | null;
|
||
oauthError?: string | null;
|
||
/**
|
||
* Enquanto preenchido, o Teqo não escreve no Google.
|
||
*/
|
||
disabledAt?: string | null;
|
||
lastSyncedAt?: string | null;
|
||
lastSuccessAt?: string | null;
|
||
lastErrorAt?: string | null;
|
||
lastError?: string | null;
|
||
pushChannelId?: string | null;
|
||
pushChannelResourceId?: string | null;
|
||
pushChannelExpiresAt?: string | null;
|
||
pushChannelSecret?: string | null;
|
||
pushChannelError?: string | null;
|
||
lastSeenEventIds?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Totais oficiais TSE por município e zona (dado público).
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "electionTally".
|
||
*/
|
||
export interface ElectionTally {
|
||
id: number;
|
||
year: number;
|
||
office: 'presidente' | 'governador' | 'deputado_federal' | 'deputado_estadual';
|
||
turn: '1' | '2';
|
||
state: string;
|
||
cityCode: string;
|
||
cityName: string;
|
||
zoneNumber: number;
|
||
aptos: number;
|
||
comparecimento: number;
|
||
abstencoes: number;
|
||
votosValidos: number;
|
||
votosNominaisValidos: number;
|
||
votosLegenda: number;
|
||
votosBranco: number;
|
||
votosNulo: number;
|
||
votosAnulados: number;
|
||
winnerCandidateNumber?: number | null;
|
||
winnerCandidateName?: string | null;
|
||
winnerVotes?: number | null;
|
||
winnerCoalition?: string | null;
|
||
winnerParty?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Votos nominais oficiais TSE por município e zona (dado público).
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "electionCandidateVote".
|
||
*/
|
||
export interface ElectionCandidateVote {
|
||
id: number;
|
||
year: number;
|
||
office: 'presidente' | 'governador' | 'deputado_federal' | 'deputado_estadual';
|
||
turn: '1' | '2';
|
||
state: string;
|
||
cityCode: string;
|
||
cityName: string;
|
||
zoneNumber: number;
|
||
candidateNumber: number;
|
||
candidateName: string;
|
||
coalition?: string | null;
|
||
party?: string | null;
|
||
voteType: 'nominal' | 'legenda';
|
||
votes: number;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Registro de candidatura TSE (dado público).
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "electionCandidate".
|
||
*/
|
||
export interface ElectionCandidate {
|
||
id: number;
|
||
year: number;
|
||
office: 'presidente' | 'governador' | 'deputado_federal' | 'deputado_estadual';
|
||
turn: '1' | '2';
|
||
state: string;
|
||
candidateNumber: number;
|
||
urnaName: string;
|
||
completeName?: string | null;
|
||
party?: string | null;
|
||
coalition?: string | null;
|
||
candidateStatus?: string | null;
|
||
elected?: boolean | null;
|
||
electedBy?: ('QP' | 'média' | '2º turno') | null;
|
||
totalVotesState?: number | null;
|
||
/**
|
||
* sha256(nome urna + naturalidade + partido); só dados públicos.
|
||
*/
|
||
identityKey?: string | null;
|
||
runningAgain2026: 'sim' | 'nao' | 'desconhecido';
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "petition".
|
||
*/
|
||
export interface Petition {
|
||
id: string;
|
||
title: string;
|
||
subtitle: string;
|
||
enabled: boolean;
|
||
body: {
|
||
root: {
|
||
type: string;
|
||
children: {
|
||
type: any;
|
||
version: number;
|
||
[k: string]: unknown;
|
||
}[];
|
||
direction: ('ltr' | 'rtl') | null;
|
||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||
indent: number;
|
||
version: number;
|
||
};
|
||
[k: string]: unknown;
|
||
};
|
||
form: {
|
||
title?: string | null;
|
||
subtitle?: string | null;
|
||
consent: number | Consent;
|
||
};
|
||
tracking?: {
|
||
/**
|
||
* Cole somente o ID numérico do Events Manager (ex.: 123456789012345), não o snippet HTML completo.
|
||
*/
|
||
facebookPixelId?: string | null;
|
||
};
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
_status?: ('draft' | 'published') | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "signature".
|
||
*/
|
||
export interface Signature {
|
||
id: number;
|
||
contact: number | Contact;
|
||
petition: string | Petition;
|
||
consent: number | Consent;
|
||
comment?: string | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "subscription".
|
||
*/
|
||
export interface Subscription {
|
||
id: number;
|
||
contact: number | Contact;
|
||
consent: number | Consent;
|
||
comment?: string | null;
|
||
campaignLevel?: ('time' | 'esporadico') | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "post".
|
||
*/
|
||
export interface Post {
|
||
id: number;
|
||
title: string;
|
||
/**
|
||
* Gerado automaticamente a partir do título quando vazio.
|
||
*/
|
||
slug?: string | null;
|
||
type: 'noticia' | 'campanha' | 'artigo' | 'evento';
|
||
category: number | Tag;
|
||
tags?: (number | Tag)[] | null;
|
||
subtitle?: string | null;
|
||
coverImage?: (number | null) | Media;
|
||
publishedDate?: string | null;
|
||
body?: {
|
||
root: {
|
||
type: string;
|
||
children: {
|
||
type: any;
|
||
version: number;
|
||
[k: string]: unknown;
|
||
}[];
|
||
direction: ('ltr' | 'rtl') | null;
|
||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||
indent: number;
|
||
version: number;
|
||
};
|
||
[k: string]: unknown;
|
||
} | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
_status?: ('draft' | 'published') | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "tag".
|
||
*/
|
||
export interface Tag {
|
||
id: number;
|
||
name: string;
|
||
/**
|
||
* Gerado automaticamente a partir do nome quando vazio.
|
||
*/
|
||
slug?: string | null;
|
||
/**
|
||
* Esconde do site todas as publicações com esta tag.
|
||
*/
|
||
hidden?: boolean | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Links curtos com miniatura personalizada para compartilhar no WhatsApp. O endereço é jorgesolla1313.com.br/<slug>: no modo "Levar direto ao destino" o clique leva direto ao destino no ar; no modo "Página de anúncio" o visitante vê a página do evento até alguém marcar um destino no ar.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "shareLink".
|
||
*/
|
||
export interface ShareLink {
|
||
id: number;
|
||
/**
|
||
* Título do cartão no WhatsApp e da página de anúncio — o WhatsApp mostra no máximo 2 linhas (~60–90 caracteres).
|
||
*/
|
||
title: string;
|
||
/**
|
||
* Endereço curto: jorgesolla1313.com.br/<slug>. Gerado do título quando vazio; não pode repetir nem usar palavra reservada do site. O WhatsApp guarda a miniatura em cache por URL: para trocar a miniatura de um link já compartilhado, use um slug novo.
|
||
*/
|
||
slug: string;
|
||
/**
|
||
* "Levar direto ao destino" exige um destino no ar. "Página de anúncio" mostra a página do evento enquanto nenhum destino estiver no ar.
|
||
*/
|
||
mode: 'direct' | 'announcement';
|
||
/**
|
||
* Pré-cadastre os lugares para trocar sem digitar URL no dia. Marque "Destino no ar" em um único destino; nenhum marcado = pré-transmissão (só no modo "Página de anúncio").
|
||
*/
|
||
destinations?:
|
||
| {
|
||
/**
|
||
* Como o destino aparece para a equipe e na página (ex.: Google Meet).
|
||
*/
|
||
label: string;
|
||
/**
|
||
* URL completa do destino (ex.: o link do Google Meet da plenária), começando com http:// ou https://.
|
||
*/
|
||
url: string;
|
||
/**
|
||
* Marque um único destino quando a transmissão começar. Desmarque para voltar à pré-transmissão.
|
||
*/
|
||
live?: boolean | null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
/**
|
||
* Texto do cartão no WhatsApp e da página de anúncio: ~80 caracteres já bastam; evitar passar de ~160.
|
||
*/
|
||
description: string;
|
||
/**
|
||
* Imagem do cartão: 1200×630 px (proporção 1,91:1), arquivo até 600 KB, JPG ou PNG, largura mínima 300 px; evitar imagens muito largas (proporção máx. 4:1). A página do link monta a URL pública absoluta na hora de exibir o cartão. Vazio = imagem padrão do site.
|
||
*/
|
||
image?: (number | null) | Media;
|
||
/**
|
||
* Horário da Bahia.
|
||
*/
|
||
startsAt?: string | null;
|
||
/**
|
||
* Opcional. Sem fim, a agenda usa duração padrão de 2 horas.
|
||
*/
|
||
endsAt?: string | null;
|
||
/**
|
||
* Onde acontece (ex.: Online). Usado na página de anúncio e nas opções de agenda.
|
||
*/
|
||
location?: string | null;
|
||
/**
|
||
* Desmarcado, o link responde 404 (kill switch).
|
||
*/
|
||
published?: boolean | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* Peças de áudio do site público (/jingles). Suba o MP3 e a capa pela Mídia; desmarcar "Publicado" tira o jingle do ar na hora, sem apagar arquivo.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "jingle".
|
||
*/
|
||
export interface Jingle {
|
||
id: number;
|
||
/**
|
||
* Nome curto exibido no card (ex.: Axé).
|
||
*/
|
||
title: string;
|
||
/**
|
||
* Gerado automaticamente a partir do título quando vazio. Vira o nome do arquivo no download (jorge-solla-1313-<slug>.mp3).
|
||
*/
|
||
slug?: string | null;
|
||
/**
|
||
* Imagem quadrada exibida acima do player (JPG/PNG otimizados).
|
||
*/
|
||
coverImage: number | Media;
|
||
/**
|
||
* O MP3 que toca e baixa. O mesmo arquivo serve para ouvir e baixar; não suba WAV. A Mídia pede um texto alternativo — use algo como "Jingle Axé — áudio".
|
||
*/
|
||
audio: number | Media;
|
||
/**
|
||
* Menor vem primeiro; vazio vai ao fim. Empate desempata pelo título.
|
||
*/
|
||
order?: number | null;
|
||
/**
|
||
* Desmarcado, o jingle some do site e do rodapé na hora (kill switch).
|
||
*/
|
||
published?: boolean | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "exports".
|
||
*/
|
||
export interface Export {
|
||
id: number;
|
||
name?: string | null;
|
||
format: 'csv' | 'json';
|
||
limit?: number | null;
|
||
page?: number | null;
|
||
sort?: string | null;
|
||
sortOrder?: ('asc' | 'desc') | null;
|
||
drafts?: ('yes' | 'no') | null;
|
||
selectionToUse?: ('currentSelection' | 'currentFilters' | 'all') | null;
|
||
fields?: string[] | null;
|
||
collectionSlug: string;
|
||
where?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
url?: string | null;
|
||
thumbnailURL?: string | null;
|
||
filename?: string | null;
|
||
mimeType?: string | null;
|
||
filesize?: number | null;
|
||
width?: number | null;
|
||
height?: number | null;
|
||
focalX?: number | null;
|
||
focalY?: number | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "imports".
|
||
*/
|
||
export interface Import {
|
||
id: number;
|
||
collectionSlug: string;
|
||
importMode?: ('create' | 'update' | 'upsert') | null;
|
||
matchField?: string | null;
|
||
status?: ('pending' | 'completed' | 'partial' | 'failed') | null;
|
||
summary?: {
|
||
imported?: number | null;
|
||
updated?: number | null;
|
||
total?: number | null;
|
||
issues?: number | null;
|
||
issueDetails?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
};
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
url?: string | null;
|
||
thumbnailURL?: string | null;
|
||
filename?: string | null;
|
||
mimeType?: string | null;
|
||
filesize?: number | null;
|
||
width?: number | null;
|
||
height?: number | null;
|
||
focalX?: number | null;
|
||
focalY?: number | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-kv".
|
||
*/
|
||
export interface PayloadKv {
|
||
id: number;
|
||
key: string;
|
||
data:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-jobs".
|
||
*/
|
||
export interface PayloadJob {
|
||
id: number;
|
||
/**
|
||
* Input data provided to the job
|
||
*/
|
||
input?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
taskStatus?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
completedAt?: string | null;
|
||
totalTried?: number | null;
|
||
/**
|
||
* If hasError is true this job will not be retried
|
||
*/
|
||
hasError?: boolean | null;
|
||
/**
|
||
* If hasError is true, this is the error that caused it
|
||
*/
|
||
error?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
/**
|
||
* Task execution log
|
||
*/
|
||
log?:
|
||
| {
|
||
executedAt: string;
|
||
completedAt: string;
|
||
taskSlug: 'inline' | 'createCollectionExport' | 'createCollectionImport' | 'schedulePublish';
|
||
taskID: string;
|
||
input?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
output?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
state: 'failed' | 'succeeded';
|
||
error?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
taskSlug?: ('inline' | 'createCollectionExport' | 'createCollectionImport' | 'schedulePublish') | null;
|
||
queue?: string | null;
|
||
waitUntil?: string | null;
|
||
processing?: boolean | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-locked-documents".
|
||
*/
|
||
export interface PayloadLockedDocument {
|
||
id: number;
|
||
document?:
|
||
| ({
|
||
relationTo: 'users';
|
||
value: number | User;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'campaignUser';
|
||
value: number | CampaignUser;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'campaignWebAuthnCredential';
|
||
value: number | CampaignWebAuthnCredential;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'notification';
|
||
value: number | Notification;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'pushSubscription';
|
||
value: number | PushSubscription;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'campaignInvite';
|
||
value: number | CampaignInvite;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'campaignVoteSummarySnapshot';
|
||
value: number | CampaignVoteSummarySnapshot;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'municipality';
|
||
value: number | Municipality;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'leadership';
|
||
value: number | Leadership;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'organization';
|
||
value: number | Organization;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'stateDeputy';
|
||
value: number | StateDeputy;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'votePledge';
|
||
value: number | VotePledge;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'allocationDecision';
|
||
value: number | AllocationDecision;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'campaignDemand';
|
||
value: number | CampaignDemand;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'supporter';
|
||
value: number | Supporter;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'supporterImportBatch';
|
||
value: number | SupporterImportBatch;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'municipalityUpdate';
|
||
value: number | MunicipalityUpdate;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'activity';
|
||
value: number | Activity;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'speech';
|
||
value: number | Speech;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'speechSegment';
|
||
value: number | SpeechSegment;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'speechCut';
|
||
value: number | SpeechCut;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'internetSpeechMedia';
|
||
value: number | InternetSpeechMedia;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'reel';
|
||
value: number | Reel;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'reelMedia';
|
||
value: number | ReelMedia;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'contentPiece';
|
||
value: number | ContentPiece;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'contentMedia';
|
||
value: number | ContentMedia;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'contentEvent';
|
||
value: number | ContentEvent;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'recording';
|
||
value: number | Recording;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'recordingMedia';
|
||
value: number | RecordingMedia;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'recordingSegment';
|
||
value: number | RecordingSegment;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'calendarFeed';
|
||
value: number | CalendarFeed;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'googleCalendarSync';
|
||
value: number | GoogleCalendarSync;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'electionTally';
|
||
value: number | ElectionTally;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'electionCandidateVote';
|
||
value: number | ElectionCandidateVote;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'electionCandidate';
|
||
value: number | ElectionCandidate;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'media';
|
||
value: number | Media;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'petition';
|
||
value: string | Petition;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'contact';
|
||
value: number | Contact;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'consent';
|
||
value: number | Consent;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'signature';
|
||
value: number | Signature;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'subscription';
|
||
value: number | Subscription;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'post';
|
||
value: number | Post;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'tag';
|
||
value: number | Tag;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'shareLink';
|
||
value: number | ShareLink;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'jingle';
|
||
value: number | Jingle;
|
||
} | null);
|
||
globalSlug?: string | null;
|
||
user:
|
||
| {
|
||
relationTo: 'users';
|
||
value: number | User;
|
||
}
|
||
| {
|
||
relationTo: 'campaignUser';
|
||
value: number | CampaignUser;
|
||
};
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-preferences".
|
||
*/
|
||
export interface PayloadPreference {
|
||
id: number;
|
||
user:
|
||
| {
|
||
relationTo: 'users';
|
||
value: number | User;
|
||
}
|
||
| {
|
||
relationTo: 'campaignUser';
|
||
value: number | CampaignUser;
|
||
};
|
||
key?: string | null;
|
||
value?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-migrations".
|
||
*/
|
||
export interface PayloadMigration {
|
||
id: number;
|
||
name?: string | null;
|
||
batch?: number | null;
|
||
updatedAt: string;
|
||
createdAt: string;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "users_select".
|
||
*/
|
||
export interface UsersSelect<T extends boolean = true> {
|
||
roles?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
email?: T;
|
||
resetPasswordToken?: T;
|
||
resetPasswordExpiration?: T;
|
||
salt?: T;
|
||
hash?: T;
|
||
loginAttempts?: T;
|
||
lockUntil?: T;
|
||
sessions?:
|
||
| T
|
||
| {
|
||
id?: T;
|
||
createdAt?: T;
|
||
expiresAt?: T;
|
||
};
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignUser_select".
|
||
*/
|
||
export interface CampaignUserSelect<T extends boolean = true> {
|
||
contact?: T;
|
||
name?: T;
|
||
avatar?: T;
|
||
role?: T;
|
||
visibility?: T;
|
||
editing?: T;
|
||
phone?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
email?: T;
|
||
username?: T;
|
||
resetPasswordToken?: T;
|
||
resetPasswordExpiration?: T;
|
||
salt?: T;
|
||
hash?: T;
|
||
loginAttempts?: T;
|
||
lockUntil?: T;
|
||
sessions?:
|
||
| T
|
||
| {
|
||
id?: T;
|
||
createdAt?: T;
|
||
expiresAt?: T;
|
||
};
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignWebAuthnCredential_select".
|
||
*/
|
||
export interface CampaignWebAuthnCredentialSelect<T extends boolean = true> {
|
||
user?: T;
|
||
credentialId?: T;
|
||
publicKey?: T;
|
||
counter?: T;
|
||
transports?: T;
|
||
deviceLabel?: T;
|
||
lastUsedAt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "notification_select".
|
||
*/
|
||
export interface NotificationSelect<T extends boolean = true> {
|
||
recipient?: T;
|
||
type?: T;
|
||
payload?: T;
|
||
municipality?: T;
|
||
readAt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "pushSubscription_select".
|
||
*/
|
||
export interface PushSubscriptionSelect<T extends boolean = true> {
|
||
user?: T;
|
||
endpoint?: T;
|
||
p256dh?: T;
|
||
auth?: T;
|
||
expirationTime?: T;
|
||
consent?: T;
|
||
consentContentHash?: T;
|
||
consentedAt?: T;
|
||
userAgent?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignInvite_select".
|
||
*/
|
||
export interface CampaignInviteSelect<T extends boolean = true> {
|
||
tokenHash?: T;
|
||
leadership?: T;
|
||
kind?: T;
|
||
expiresAt?: T;
|
||
usedAt?: T;
|
||
revokedAt?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignVoteSummarySnapshot_select".
|
||
*/
|
||
export interface CampaignVoteSummarySnapshotSelect<T extends boolean = true> {
|
||
day?: T;
|
||
scopeKey?: T;
|
||
staffVoteTotalCentral?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "municipality_select".
|
||
*/
|
||
export interface MunicipalitySelect<T extends boolean = true> {
|
||
name?: T;
|
||
slug?: T;
|
||
kind?: T;
|
||
city?: T;
|
||
region?: T;
|
||
ibgeCode?: T;
|
||
tseCityCode?: T;
|
||
zoneNumber?: T;
|
||
advisors?: T;
|
||
priority?: T;
|
||
engagementLevel?: T;
|
||
levelNote?: T;
|
||
levelChangedAt?: T;
|
||
expectedVotes?:
|
||
| T
|
||
| {
|
||
pessimistic?: T;
|
||
central?: T;
|
||
optimistic?: T;
|
||
};
|
||
politicalTrend?:
|
||
| T
|
||
| {
|
||
status?: T;
|
||
note?: T;
|
||
recordedBy?: T;
|
||
recordedAt?: T;
|
||
};
|
||
strengths?:
|
||
| T
|
||
| {
|
||
text?: T;
|
||
id?: T;
|
||
};
|
||
risks?:
|
||
| T
|
||
| {
|
||
text?: T;
|
||
id?: T;
|
||
};
|
||
stateDeputies?: T;
|
||
dobradinhaNotes?: T;
|
||
nextSteps?: T;
|
||
budgetNotes?: T;
|
||
lastUpdateAt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "leadership_select".
|
||
*/
|
||
export interface LeadershipSelect<T extends boolean = true> {
|
||
contact?: T;
|
||
municipalities?: T;
|
||
organizations?: T;
|
||
stateDeputies?: T;
|
||
advisors?: T;
|
||
exclusive?: T;
|
||
supportStatus?: T;
|
||
user?: T;
|
||
consent?: T;
|
||
consentContentHash?: T;
|
||
consentedAt?: T;
|
||
notes?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "organization_select".
|
||
*/
|
||
export interface OrganizationSelect<T extends boolean = true> {
|
||
name?: T;
|
||
slug?: T;
|
||
kind?: T;
|
||
municipalities?: T;
|
||
notes?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "stateDeputy_select".
|
||
*/
|
||
export interface StateDeputySelect<T extends boolean = true> {
|
||
contact?: T;
|
||
slug?: T;
|
||
party?: T;
|
||
ballotName?: T;
|
||
notes?: T;
|
||
advisors?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "votePledge_select".
|
||
*/
|
||
export interface VotePledgeSelect<T extends boolean = true> {
|
||
leadership?: T;
|
||
municipality?: T;
|
||
declaredVotes?: T;
|
||
declaredAt?: T;
|
||
declaredBy?: T;
|
||
estimatedVotes?:
|
||
| T
|
||
| {
|
||
pessimistic?: T;
|
||
central?: T;
|
||
optimistic?: T;
|
||
};
|
||
estimateNote?: T;
|
||
estimatedBy?: T;
|
||
estimatedAt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "allocationDecision_select".
|
||
*/
|
||
export interface AllocationDecisionSelect<T extends boolean = true> {
|
||
municipality?: T;
|
||
patternId?: T;
|
||
outcome?: T;
|
||
rationale?: T;
|
||
alternativeReading?: T;
|
||
snapshot?: T;
|
||
decidedBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignDemand_select".
|
||
*/
|
||
export interface CampaignDemandSelect<T extends boolean = true> {
|
||
title?: T;
|
||
slug?: T;
|
||
kind?: T;
|
||
description?: T;
|
||
municipality?: T;
|
||
activity?: T;
|
||
leadership?: T;
|
||
responsibles?: T;
|
||
status?: T;
|
||
decisionNote?: T;
|
||
decidedBy?: T;
|
||
decidedAt?: T;
|
||
cost?: T;
|
||
receipts?: T;
|
||
statusHistory?:
|
||
| T
|
||
| {
|
||
status?: T;
|
||
note?: T;
|
||
author?: T;
|
||
createdAt?: T;
|
||
id?: T;
|
||
};
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "supporter_select".
|
||
*/
|
||
export interface SupporterSelect<T extends boolean = true> {
|
||
contact?: T;
|
||
municipality?: T;
|
||
voteIntention?: T;
|
||
consent?: T;
|
||
consentContentHash?: T;
|
||
consentedAt?: T;
|
||
voteIntentionConsent?: T;
|
||
voteIntentionConsentContentHash?: T;
|
||
voteIntentionConsentedAt?: T;
|
||
source?: T;
|
||
consentNote?: T;
|
||
notes?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "supporterImportBatch_select".
|
||
*/
|
||
export interface SupporterImportBatchSelect<T extends boolean = true> {
|
||
batchId?: T;
|
||
actor?: T;
|
||
expiresAt?: T;
|
||
rows?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "municipalityUpdate_select".
|
||
*/
|
||
export interface MunicipalityUpdateSelect<T extends boolean = true> {
|
||
municipality?: T;
|
||
author?: T;
|
||
polarity?: T;
|
||
urgent?: T;
|
||
adversarySignal?: T;
|
||
body?: T;
|
||
activeVolunteers?: T;
|
||
newSupports?: T;
|
||
responsible?: T;
|
||
resolvedBy?: T;
|
||
resolvedAt?: T;
|
||
comments?:
|
||
| T
|
||
| {
|
||
body?: T;
|
||
author?: T;
|
||
createdAt?: T;
|
||
id?: T;
|
||
};
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "activity_select".
|
||
*/
|
||
export interface ActivitySelect<T extends boolean = true> {
|
||
title?: T;
|
||
slug?: T;
|
||
tags?: T;
|
||
status?: T;
|
||
description?: T;
|
||
deputyPresent?: T;
|
||
allDay?: T;
|
||
publicEvent?: T;
|
||
startAt?: T;
|
||
endAt?: T;
|
||
municipality?: T;
|
||
locality?: T;
|
||
organizations?: T;
|
||
responsible?: T;
|
||
tasks?:
|
||
| T
|
||
| {
|
||
title?: T;
|
||
responsible?: T;
|
||
done?: T;
|
||
doneAt?: T;
|
||
id?: T;
|
||
};
|
||
taskTotal?: T;
|
||
taskDoneCount?: T;
|
||
updates?:
|
||
| T
|
||
| {
|
||
body?: T;
|
||
author?: T;
|
||
createdAt?: T;
|
||
id?: T;
|
||
};
|
||
resultSummary?: T;
|
||
resultMedia?: T;
|
||
resultRecordedBy?: T;
|
||
resultRecordedAt?: T;
|
||
lastMirroredChangeAt?: T;
|
||
googleEventId?: T;
|
||
googleCalendarId?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "speech_select".
|
||
*/
|
||
export interface SpeechSelect<T extends boolean = true> {
|
||
sourceKey?: T;
|
||
origin?: T;
|
||
speechAt?: T;
|
||
year?: T;
|
||
legislature?: T;
|
||
type?: T;
|
||
phase?: T;
|
||
durationSeconds?: T;
|
||
summary?: T;
|
||
officialTranscript?: T;
|
||
officialTextUrl?: T;
|
||
keywords?: T;
|
||
searchText?: T;
|
||
eventId?: T;
|
||
eventType?: T;
|
||
eventStartAt?: T;
|
||
eventEndAt?: T;
|
||
youtubeUrl?: T;
|
||
presidingOfficer?: T;
|
||
audioId?: T;
|
||
excerptTMs?: T;
|
||
vodPlaybackUrl?: T;
|
||
vodDownloadUrl?: T;
|
||
platform?: T;
|
||
externalId?: T;
|
||
sourceUrl?: T;
|
||
title?: T;
|
||
channel?: T;
|
||
mirroredMedia?: T;
|
||
thumbnail?: T;
|
||
topics?: T;
|
||
scopes?: T;
|
||
classifiedBy?: T;
|
||
mentionedMunicipalities?: T;
|
||
mentionedPeople?: T;
|
||
mentionedPrograms?: T;
|
||
mentionedProjects?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "speechSegment_select".
|
||
*/
|
||
export interface SpeechSegmentSelect<T extends boolean = true> {
|
||
speech?: T;
|
||
order?: T;
|
||
startSeconds?: T;
|
||
endSeconds?: T;
|
||
text?: T;
|
||
searchText?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "speechCut_select".
|
||
*/
|
||
export interface SpeechCutSelect<T extends boolean = true> {
|
||
speech?: T;
|
||
startSeconds?: T;
|
||
endSeconds?: T;
|
||
durationSeconds?: T;
|
||
title?: T;
|
||
description?: T;
|
||
status?: T;
|
||
step?: T;
|
||
media?: T;
|
||
error?: T;
|
||
publishedAt?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "internetSpeechMedia_select".
|
||
*/
|
||
export interface InternetSpeechMediaSelect<T extends boolean = true> {
|
||
alt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
url?: T;
|
||
thumbnailURL?: T;
|
||
filename?: T;
|
||
mimeType?: T;
|
||
filesize?: T;
|
||
width?: T;
|
||
height?: T;
|
||
focalX?: T;
|
||
focalY?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "reel_select".
|
||
*/
|
||
export interface ReelSelect<T extends boolean = true> {
|
||
title?: T;
|
||
feature?: T;
|
||
sourceHash?: T;
|
||
status?: T;
|
||
video?: T;
|
||
videoWithAudio?: T;
|
||
narrationAudio?: T;
|
||
captions?: T;
|
||
cover?: T;
|
||
transcript?: T;
|
||
publishedAt?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "reelMedia_select".
|
||
*/
|
||
export interface ReelMediaSelect<T extends boolean = true> {
|
||
alt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
url?: T;
|
||
thumbnailURL?: T;
|
||
filename?: T;
|
||
mimeType?: T;
|
||
filesize?: T;
|
||
width?: T;
|
||
height?: T;
|
||
focalX?: T;
|
||
focalY?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "contentPiece_select".
|
||
*/
|
||
export interface ContentPieceSelect<T extends boolean = true> {
|
||
title?: T;
|
||
slug?: T;
|
||
type?: T;
|
||
description?: T;
|
||
topics?: T;
|
||
municipality?: T;
|
||
cityLabel?: T;
|
||
region?: T;
|
||
institution?: T;
|
||
pieceDate?: T;
|
||
durationSeconds?: T;
|
||
transcript?: T;
|
||
media?: T;
|
||
sourceUrl?: T;
|
||
origin?: T;
|
||
status?: T;
|
||
publishedAt?: T;
|
||
processingStatus?: T;
|
||
step?: T;
|
||
error?: T;
|
||
linkFailureReason?: T;
|
||
searchText?: T;
|
||
curatedFields?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "contentMedia_select".
|
||
*/
|
||
export interface ContentMediaSelect<T extends boolean = true> {
|
||
alt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
url?: T;
|
||
thumbnailURL?: T;
|
||
filename?: T;
|
||
mimeType?: T;
|
||
filesize?: T;
|
||
width?: T;
|
||
height?: T;
|
||
focalX?: T;
|
||
focalY?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "contentEvent_select".
|
||
*/
|
||
export interface ContentEventSelect<T extends boolean = true> {
|
||
type?: T;
|
||
subjectType?: T;
|
||
subjectId?: T;
|
||
variant?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "recording_select".
|
||
*/
|
||
export interface RecordingSelect<T extends boolean = true> {
|
||
title?: T;
|
||
recordedAt?: T;
|
||
status?: T;
|
||
step?: T;
|
||
media?: T;
|
||
durationSeconds?: T;
|
||
searchText?: T;
|
||
speakerLabels?:
|
||
| T
|
||
| {
|
||
speakerKey?: T;
|
||
label?: T;
|
||
id?: T;
|
||
};
|
||
speakerNames?: T;
|
||
speakerLabelsDropped?: T;
|
||
error?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "recordingMedia_select".
|
||
*/
|
||
export interface RecordingMediaSelect<T extends boolean = true> {
|
||
alt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
url?: T;
|
||
thumbnailURL?: T;
|
||
filename?: T;
|
||
mimeType?: T;
|
||
filesize?: T;
|
||
width?: T;
|
||
height?: T;
|
||
focalX?: T;
|
||
focalY?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "recordingSegment_select".
|
||
*/
|
||
export interface RecordingSegmentSelect<T extends boolean = true> {
|
||
recording?: T;
|
||
order?: T;
|
||
speakerKey?: T;
|
||
startSeconds?: T;
|
||
endSeconds?: T;
|
||
text?: T;
|
||
searchText?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "calendarFeed_select".
|
||
*/
|
||
export interface CalendarFeedSelect<T extends boolean = true> {
|
||
secretSlug?: T;
|
||
label?: T;
|
||
filterMunicipality?: T;
|
||
filterDeputyPresent?: T;
|
||
filterTag?: T;
|
||
revokedAt?: T;
|
||
createdBy?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "googleCalendarSync_select".
|
||
*/
|
||
export interface GoogleCalendarSyncSelect<T extends boolean = true> {
|
||
calendarId?: T;
|
||
oauthRefreshToken?: T;
|
||
oauthScope?: T;
|
||
oauthConnectedAt?: T;
|
||
oauthErrorAt?: T;
|
||
oauthError?: T;
|
||
disabledAt?: T;
|
||
lastSyncedAt?: T;
|
||
lastSuccessAt?: T;
|
||
lastErrorAt?: T;
|
||
lastError?: T;
|
||
pushChannelId?: T;
|
||
pushChannelResourceId?: T;
|
||
pushChannelExpiresAt?: T;
|
||
pushChannelSecret?: T;
|
||
pushChannelError?: T;
|
||
lastSeenEventIds?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "electionTally_select".
|
||
*/
|
||
export interface ElectionTallySelect<T extends boolean = true> {
|
||
year?: T;
|
||
office?: T;
|
||
turn?: T;
|
||
state?: T;
|
||
cityCode?: T;
|
||
cityName?: T;
|
||
zoneNumber?: T;
|
||
aptos?: T;
|
||
comparecimento?: T;
|
||
abstencoes?: T;
|
||
votosValidos?: T;
|
||
votosNominaisValidos?: T;
|
||
votosLegenda?: T;
|
||
votosBranco?: T;
|
||
votosNulo?: T;
|
||
votosAnulados?: T;
|
||
winnerCandidateNumber?: T;
|
||
winnerCandidateName?: T;
|
||
winnerVotes?: T;
|
||
winnerCoalition?: T;
|
||
winnerParty?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "electionCandidateVote_select".
|
||
*/
|
||
export interface ElectionCandidateVoteSelect<T extends boolean = true> {
|
||
year?: T;
|
||
office?: T;
|
||
turn?: T;
|
||
state?: T;
|
||
cityCode?: T;
|
||
cityName?: T;
|
||
zoneNumber?: T;
|
||
candidateNumber?: T;
|
||
candidateName?: T;
|
||
coalition?: T;
|
||
party?: T;
|
||
voteType?: T;
|
||
votes?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "electionCandidate_select".
|
||
*/
|
||
export interface ElectionCandidateSelect<T extends boolean = true> {
|
||
year?: T;
|
||
office?: T;
|
||
turn?: T;
|
||
state?: T;
|
||
candidateNumber?: T;
|
||
urnaName?: T;
|
||
completeName?: T;
|
||
party?: T;
|
||
coalition?: T;
|
||
candidateStatus?: T;
|
||
elected?: T;
|
||
electedBy?: T;
|
||
totalVotesState?: T;
|
||
identityKey?: T;
|
||
runningAgain2026?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "media_select".
|
||
*/
|
||
export interface MediaSelect<T extends boolean = true> {
|
||
alt?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
url?: T;
|
||
thumbnailURL?: T;
|
||
filename?: T;
|
||
mimeType?: T;
|
||
filesize?: T;
|
||
width?: T;
|
||
height?: T;
|
||
focalX?: T;
|
||
focalY?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "petition_select".
|
||
*/
|
||
export interface PetitionSelect<T extends boolean = true> {
|
||
id?: T;
|
||
title?: T;
|
||
subtitle?: T;
|
||
enabled?: T;
|
||
body?: T;
|
||
form?:
|
||
| T
|
||
| {
|
||
title?: T;
|
||
subtitle?: T;
|
||
consent?: T;
|
||
};
|
||
tracking?:
|
||
| T
|
||
| {
|
||
facebookPixelId?: T;
|
||
};
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
_status?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "contact_select".
|
||
*/
|
||
export interface ContactSelect<T extends boolean = true> {
|
||
name?: T;
|
||
email?: T;
|
||
phones?:
|
||
| T
|
||
| {
|
||
value?: T;
|
||
id?: T;
|
||
};
|
||
gender?: T;
|
||
state?: T;
|
||
city?: T;
|
||
postalCode?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "consent_select".
|
||
*/
|
||
export interface ConsentSelect<T extends boolean = true> {
|
||
key?: T;
|
||
text?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "signature_select".
|
||
*/
|
||
export interface SignatureSelect<T extends boolean = true> {
|
||
contact?: T;
|
||
petition?: T;
|
||
consent?: T;
|
||
comment?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "subscription_select".
|
||
*/
|
||
export interface SubscriptionSelect<T extends boolean = true> {
|
||
contact?: T;
|
||
consent?: T;
|
||
comment?: T;
|
||
campaignLevel?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "post_select".
|
||
*/
|
||
export interface PostSelect<T extends boolean = true> {
|
||
title?: T;
|
||
slug?: T;
|
||
type?: T;
|
||
category?: T;
|
||
tags?: T;
|
||
subtitle?: T;
|
||
coverImage?: T;
|
||
publishedDate?: T;
|
||
body?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
_status?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "tag_select".
|
||
*/
|
||
export interface TagSelect<T extends boolean = true> {
|
||
name?: T;
|
||
slug?: T;
|
||
hidden?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "shareLink_select".
|
||
*/
|
||
export interface ShareLinkSelect<T extends boolean = true> {
|
||
title?: T;
|
||
slug?: T;
|
||
mode?: T;
|
||
destinations?:
|
||
| T
|
||
| {
|
||
label?: T;
|
||
url?: T;
|
||
live?: T;
|
||
id?: T;
|
||
};
|
||
description?: T;
|
||
image?: T;
|
||
startsAt?: T;
|
||
endsAt?: T;
|
||
location?: T;
|
||
published?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "jingle_select".
|
||
*/
|
||
export interface JingleSelect<T extends boolean = true> {
|
||
title?: T;
|
||
slug?: T;
|
||
coverImage?: T;
|
||
audio?: T;
|
||
order?: T;
|
||
published?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "exports_select".
|
||
*/
|
||
export interface ExportsSelect<T extends boolean = true> {
|
||
name?: T;
|
||
format?: T;
|
||
limit?: T;
|
||
page?: T;
|
||
sort?: T;
|
||
sortOrder?: T;
|
||
drafts?: T;
|
||
selectionToUse?: T;
|
||
fields?: T;
|
||
collectionSlug?: T;
|
||
where?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
url?: T;
|
||
thumbnailURL?: T;
|
||
filename?: T;
|
||
mimeType?: T;
|
||
filesize?: T;
|
||
width?: T;
|
||
height?: T;
|
||
focalX?: T;
|
||
focalY?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "imports_select".
|
||
*/
|
||
export interface ImportsSelect<T extends boolean = true> {
|
||
collectionSlug?: T;
|
||
importMode?: T;
|
||
matchField?: T;
|
||
status?: T;
|
||
summary?:
|
||
| T
|
||
| {
|
||
imported?: T;
|
||
updated?: T;
|
||
total?: T;
|
||
issues?: T;
|
||
issueDetails?: T;
|
||
};
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
url?: T;
|
||
thumbnailURL?: T;
|
||
filename?: T;
|
||
mimeType?: T;
|
||
filesize?: T;
|
||
width?: T;
|
||
height?: T;
|
||
focalX?: T;
|
||
focalY?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-kv_select".
|
||
*/
|
||
export interface PayloadKvSelect<T extends boolean = true> {
|
||
key?: T;
|
||
data?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-jobs_select".
|
||
*/
|
||
export interface PayloadJobsSelect<T extends boolean = true> {
|
||
input?: T;
|
||
taskStatus?: T;
|
||
completedAt?: T;
|
||
totalTried?: T;
|
||
hasError?: T;
|
||
error?: T;
|
||
log?:
|
||
| T
|
||
| {
|
||
executedAt?: T;
|
||
completedAt?: T;
|
||
taskSlug?: T;
|
||
taskID?: T;
|
||
input?: T;
|
||
output?: T;
|
||
state?: T;
|
||
error?: T;
|
||
id?: T;
|
||
};
|
||
taskSlug?: T;
|
||
queue?: T;
|
||
waitUntil?: T;
|
||
processing?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-locked-documents_select".
|
||
*/
|
||
export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
|
||
document?: T;
|
||
globalSlug?: T;
|
||
user?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-preferences_select".
|
||
*/
|
||
export interface PayloadPreferencesSelect<T extends boolean = true> {
|
||
user?: T;
|
||
key?: T;
|
||
value?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "payload-migrations_select".
|
||
*/
|
||
export interface PayloadMigrationsSelect<T extends boolean = true> {
|
||
name?: T;
|
||
batch?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "site-settings".
|
||
*/
|
||
export interface SiteSetting {
|
||
id: number;
|
||
headerTitle?: string | null;
|
||
socialLinks?:
|
||
| {
|
||
platform: 'instagram' | 'facebook' | 'youtube' | 'whatsapp';
|
||
url: string;
|
||
/**
|
||
* Rótulo opcional para acessibilidade. Se estiver vazio, usamos um rótulo padrão da plataforma.
|
||
*/
|
||
label?: string | null;
|
||
enabled?: boolean | null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
tracking?: {
|
||
/**
|
||
* Cole somente o ID numérico do Events Manager (ex.: 123456789012345), não o snippet HTML completo.
|
||
*/
|
||
facebookPixelId?: string | null;
|
||
};
|
||
_status?: ('draft' | 'published') | null;
|
||
updatedAt?: string | null;
|
||
createdAt?: string | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "home".
|
||
*/
|
||
export interface Home {
|
||
id: number;
|
||
image: number | Media;
|
||
updatedAt?: string | null;
|
||
createdAt?: string | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "metadata".
|
||
*/
|
||
export interface Metadatum {
|
||
id: number;
|
||
URL: string;
|
||
title: string;
|
||
description: string;
|
||
keywords: {
|
||
keyword: string;
|
||
id?: string | null;
|
||
}[];
|
||
openGraph: {
|
||
siteName: string;
|
||
description: string;
|
||
};
|
||
twitter: {
|
||
creator: string;
|
||
description: string;
|
||
};
|
||
image?: (number | null) | Media;
|
||
updatedAt?: string | null;
|
||
createdAt?: string | null;
|
||
}
|
||
/**
|
||
* Aviso de Privacidade institucional exibido em /privacidade. Publicar somente após revisão jurídica.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "privacy-policy".
|
||
*/
|
||
export interface PrivacyPolicy {
|
||
id: number;
|
||
/**
|
||
* Quando desmarcado, a rota pública /privacidade retorna 404.
|
||
*/
|
||
published?: boolean | null;
|
||
body: {
|
||
root: {
|
||
type: string;
|
||
children: {
|
||
type: any;
|
||
version: number;
|
||
[k: string]: unknown;
|
||
}[];
|
||
direction: ('ltr' | 'rtl') | null;
|
||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||
indent: number;
|
||
version: number;
|
||
};
|
||
[k: string]: unknown;
|
||
};
|
||
updatedAt?: string | null;
|
||
createdAt?: string | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignGoals".
|
||
*/
|
||
export interface CampaignGoal {
|
||
id: number;
|
||
/**
|
||
* Piso decidido pela coordenação geral. Define o cenário OTIMISTA da meta sugerida por município: a votação de 2022 de cada município é multiplicada por (meta estadual ÷ votação estadual de 2022), então a soma das metas otimistas fecha exatamente neste valor.
|
||
*/
|
||
stateGoal: number;
|
||
/**
|
||
* Corte do cenário PESSIMISTA da meta sugerida: quanto da votação de 2022 a campanha admite perder (ex.: 10 = meta pessimista 10% abaixo de 2022). Vazio usa 10%.
|
||
*/
|
||
margin?: number | null;
|
||
/**
|
||
* Ano-base considerado pela coordenação ao fixar a meta estadual (contexto, não usado em cálculo).
|
||
*/
|
||
baseYear?: number | null;
|
||
/**
|
||
* Contexto livre sobre a decisão da meta (ex.: data e instância que decidiu).
|
||
*/
|
||
note?: string | null;
|
||
updatedAt?: string | null;
|
||
createdAt?: string | null;
|
||
}
|
||
/**
|
||
* Fonte automática do board "Acompanhe de perto" da home de campanha. Sem chave configurada, os cards da plataforma não aparecem.
|
||
*
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "social-feed-settings".
|
||
*/
|
||
export interface SocialFeedSetting {
|
||
id: number;
|
||
/**
|
||
* Desligado, as fontes externas (YouTube, Instagram) somem do board sem mexer nos artigos do site.
|
||
*/
|
||
enabled?: boolean | null;
|
||
/**
|
||
* Desliga só os cards de vídeo do YouTube.
|
||
*/
|
||
youtubeEnabled?: boolean | null;
|
||
/**
|
||
* Chave de API do Google Cloud com a YouTube Data API v3 habilitada. Restrinja por IP se possível.
|
||
*/
|
||
youtubeApiKey?: string | null;
|
||
/**
|
||
* Ex.: UCyqT2nMLnwQn2Bh7mB7y3dA (o canal oficial é @JorgeSollaDep).
|
||
*/
|
||
youtubeChannelId?: string | null;
|
||
/**
|
||
* Quantos vídeos entram no bento (1 grande + os próximos).
|
||
*/
|
||
youtubeMaxItems?: number | null;
|
||
/**
|
||
* Desliga só os cards de post do Instagram.
|
||
*/
|
||
instagramEnabled?: boolean | null;
|
||
/**
|
||
* Token long-lived da conta Business/Creator vinculada à página do Facebook. Tokens emitidos via Instagram Login são renovados automaticamente; para page tokens, o refresh falha e o token precisa ser trocado aqui manualmente.
|
||
*/
|
||
instagramAccessToken?: string | null;
|
||
/**
|
||
* ID numérico da conta de negócios do Instagram.
|
||
*/
|
||
instagramUserId?: string | null;
|
||
/**
|
||
* Quantos posts entram no bento (1 grande + os próximos).
|
||
*/
|
||
instagramMaxItems?: number | null;
|
||
/**
|
||
* Conteúdo marcado para NÃO aparecer no board (vídeo errado, transmissão incompleta, post de grade). O board pula para o próximo elegível.
|
||
*/
|
||
excludedItems?:
|
||
| {
|
||
platform: 'youtube' | 'instagram';
|
||
itemId: string;
|
||
reason?: string | null;
|
||
id?: string | null;
|
||
}[]
|
||
| null;
|
||
youtubeFeedSnapshot?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
instagramFeedSnapshot?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
instagramSyncStatus?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
updatedAt?: string | null;
|
||
createdAt?: string | null;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "site-settings_select".
|
||
*/
|
||
export interface SiteSettingsSelect<T extends boolean = true> {
|
||
headerTitle?: T;
|
||
socialLinks?:
|
||
| T
|
||
| {
|
||
platform?: T;
|
||
url?: T;
|
||
label?: T;
|
||
enabled?: T;
|
||
id?: T;
|
||
};
|
||
tracking?:
|
||
| T
|
||
| {
|
||
facebookPixelId?: T;
|
||
};
|
||
_status?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
globalType?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "home_select".
|
||
*/
|
||
export interface HomeSelect<T extends boolean = true> {
|
||
image?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
globalType?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "metadata_select".
|
||
*/
|
||
export interface MetadataSelect<T extends boolean = true> {
|
||
URL?: T;
|
||
title?: T;
|
||
description?: T;
|
||
keywords?:
|
||
| T
|
||
| {
|
||
keyword?: T;
|
||
id?: T;
|
||
};
|
||
openGraph?:
|
||
| T
|
||
| {
|
||
siteName?: T;
|
||
description?: T;
|
||
};
|
||
twitter?:
|
||
| T
|
||
| {
|
||
creator?: T;
|
||
description?: T;
|
||
};
|
||
image?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
globalType?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "privacy-policy_select".
|
||
*/
|
||
export interface PrivacyPolicySelect<T extends boolean = true> {
|
||
published?: T;
|
||
body?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
globalType?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "campaignGoals_select".
|
||
*/
|
||
export interface CampaignGoalsSelect<T extends boolean = true> {
|
||
stateGoal?: T;
|
||
margin?: T;
|
||
baseYear?: T;
|
||
note?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
globalType?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "social-feed-settings_select".
|
||
*/
|
||
export interface SocialFeedSettingsSelect<T extends boolean = true> {
|
||
enabled?: T;
|
||
youtubeEnabled?: T;
|
||
youtubeApiKey?: T;
|
||
youtubeChannelId?: T;
|
||
youtubeMaxItems?: T;
|
||
instagramEnabled?: T;
|
||
instagramAccessToken?: T;
|
||
instagramUserId?: T;
|
||
instagramMaxItems?: T;
|
||
excludedItems?:
|
||
| T
|
||
| {
|
||
platform?: T;
|
||
itemId?: T;
|
||
reason?: T;
|
||
id?: T;
|
||
};
|
||
youtubeFeedSnapshot?: T;
|
||
instagramFeedSnapshot?: T;
|
||
instagramSyncStatus?: T;
|
||
updatedAt?: T;
|
||
createdAt?: T;
|
||
globalType?: T;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "collections_widget".
|
||
*/
|
||
export interface CollectionsWidget {
|
||
data?: {
|
||
[k: string]: unknown;
|
||
};
|
||
width: 'full';
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "TaskCreateCollectionExport".
|
||
*/
|
||
export interface TaskCreateCollectionExport {
|
||
input: {
|
||
id: string;
|
||
name: string;
|
||
batchSize?: number | null;
|
||
collectionSlug:
|
||
| 'users'
|
||
| 'campaignUser'
|
||
| 'campaignWebAuthnCredential'
|
||
| 'notification'
|
||
| 'pushSubscription'
|
||
| 'campaignInvite'
|
||
| 'campaignVoteSummarySnapshot'
|
||
| 'municipality'
|
||
| 'leadership'
|
||
| 'organization'
|
||
| 'stateDeputy'
|
||
| 'votePledge'
|
||
| 'allocationDecision'
|
||
| 'campaignDemand'
|
||
| 'supporter'
|
||
| 'supporterImportBatch'
|
||
| 'municipalityUpdate'
|
||
| 'activity'
|
||
| 'speech'
|
||
| 'speechSegment'
|
||
| 'speechCut'
|
||
| 'internetSpeechMedia'
|
||
| 'reel'
|
||
| 'reelMedia'
|
||
| 'contentPiece'
|
||
| 'contentMedia'
|
||
| 'contentEvent'
|
||
| 'recording'
|
||
| 'recordingMedia'
|
||
| 'recordingSegment'
|
||
| 'calendarFeed'
|
||
| 'googleCalendarSync'
|
||
| 'electionTally'
|
||
| 'electionCandidateVote'
|
||
| 'electionCandidate'
|
||
| 'media'
|
||
| 'petition'
|
||
| 'contact'
|
||
| 'consent'
|
||
| 'signature'
|
||
| 'subscription'
|
||
| 'post'
|
||
| 'tag'
|
||
| 'shareLink'
|
||
| 'jingle'
|
||
| 'exports'
|
||
| 'imports';
|
||
drafts?: ('yes' | 'no') | null;
|
||
exportCollection: string;
|
||
fields?: string[] | null;
|
||
format: 'csv' | 'json';
|
||
limit?: number | null;
|
||
locale?: string | null;
|
||
maxLimit?: number | null;
|
||
page?: number | null;
|
||
sort?: string | null;
|
||
userCollection?: string | null;
|
||
userID?: string | null;
|
||
where?:
|
||
| {
|
||
[k: string]: unknown;
|
||
}
|
||
| unknown[]
|
||
| string
|
||
| number
|
||
| boolean
|
||
| null;
|
||
};
|
||
output?: unknown;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "TaskCreateCollectionImport".
|
||
*/
|
||
export interface TaskCreateCollectionImport {
|
||
input: {
|
||
importId: string;
|
||
importCollection: string;
|
||
userID?: string | null;
|
||
userCollection?: string | null;
|
||
batchSize?: number | null;
|
||
debug?: boolean | null;
|
||
defaultVersionStatus?: ('draft' | 'published') | null;
|
||
maxLimit?: number | null;
|
||
};
|
||
output?: unknown;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "TaskSchedulePublish".
|
||
*/
|
||
export interface TaskSchedulePublish {
|
||
input: {
|
||
type?: ('publish' | 'unpublish') | null;
|
||
locale?: string | null;
|
||
doc?:
|
||
| ({
|
||
relationTo: 'petition';
|
||
value: string | Petition;
|
||
} | null)
|
||
| ({
|
||
relationTo: 'post';
|
||
value: number | Post;
|
||
} | null);
|
||
global?: 'site-settings' | null;
|
||
user?: (number | null) | User;
|
||
};
|
||
output?: unknown;
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "auth".
|
||
*/
|
||
export interface Auth {
|
||
[k: string]: unknown;
|
||
}
|
||
|
||
|
||
declare module 'payload' {
|
||
export interface GeneratedTypes extends Config {}
|
||
} |