]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/typings/models/account/account-blocklist.ts
Merge branch 'feature/strong-model-types' into develop
[github/Chocobozzz/PeerTube.git] / server / typings / models / account / account-blocklist.ts
index 6d1771de8c39c0654453bb24f3eaa4bd6aa8ce1b..c9cb553325ceb063f03fb0d2db6928b588b3805e 100644 (file)
@@ -1,11 +1,25 @@
 import { AccountBlocklistModel } from '../../../models/account/account-blocklist'
 import { PickWith } from '../../utils'
-import { MAccountDefault } from './account'
+import { MAccountDefault, MAccountFormattable } from './account'
+
+type Use<K extends keyof AccountBlocklistModel, M> = PickWith<AccountBlocklistModel, K, M>
+
+// ############################################################################
 
 export type MAccountBlocklist = Omit<AccountBlocklistModel, 'ByAccount' | 'BlockedAccount'>
 
+// ############################################################################
+
 export type MAccountBlocklistId = Pick<AccountBlocklistModel, 'id'>
 
 export type MAccountBlocklistAccounts = MAccountBlocklist &
-  PickWith<AccountBlocklistModel, 'ByAccount', MAccountDefault> &
-  PickWith<AccountBlocklistModel, 'BlockedAccount', MAccountDefault>
+  Use<'ByAccount', MAccountDefault> &
+  Use<'BlockedAccount', MAccountDefault>
+
+// ############################################################################
+
+// Format for API or AP object
+
+export type MAccountBlocklistFormattable = Pick<MAccountBlocklist, 'createdAt'> &
+  Use<'ByAccount', MAccountFormattable> &
+  Use<'BlockedAccount', MAccountFormattable>