refactor(uuid): migrate from Uuid::new_v4 to Uuid::now_v7 for time-ordered IDs
Mechanical change applied across all crates: every `Uuid::new_v4()` ID generation was switched to `Uuid::now_v7()` to take advantage of time-ordered UUIDs (better B-tree index locality, monotonic inserts). 91 files, 190 lines changed.
zhenyi committed
Modified chat/chatlayer/actor/runtime.rs chat/chatlayer/actor/runtime.rs +1 −1 View chat/chatlayer/actor/runtime.rs
@@ -147,7 +147,7 @@
147147 },
148148 shutdown,
149149 );
150 let key = Uuid::new_v4();
150 let key = Uuid::now_v7();
151151 reg.dispatch(key, 1);
152152 reg.dispatch(key, 2);
153153 reg.dispatch(key, 3);
Modified chat/chatlayer/events/envelope.rs chat/chatlayer/events/envelope.rs +2 −2 View chat/chatlayer/events/envelope.rs
@@ -13,7 +13,7 @@
1313impl<T> EventEnvelope<T> {
1414 pub fn new(actor_id: Uuid, payload: T) -> Self {
1515 Self {
16 event_id: Uuid::new_v4(),
16 event_id: Uuid::now_v7(),
1717 occurred_at: OffsetDateTime::now_utc(),
1818 actor_id,
1919 payload,
@@ -22,7 +22,7 @@
2222
2323 pub fn with_timestamp(actor_id: Uuid, occurred_at: OffsetDateTime, payload: T) -> Self {
2424 Self {
25 event_id: Uuid::new_v4(),
25 event_id: Uuid::now_v7(),
2626 occurred_at,
2727 actor_id,
2828 payload,
Modified chat/chatlayer/events/mod.rs chat/chatlayer/events/mod.rs +11 −11 View chat/chatlayer/events/mod.rs
@@ -16,8 +16,8 @@
1616 #[test]
1717 fn room_event_serde_roundtrip() {
1818 let cmd = MessageCommand {
19 channel_id: Uuid::new_v4(),
20 sender_id: Uuid::new_v4(),
19 channel_id: Uuid::now_v7(),
20 sender_id: Uuid::now_v7(),
2121 body: "hi".into(),
2222 reply_to: None,
2323 thread_root: None,
@@ -35,11 +35,11 @@
3535
3636 #[test]
3737 fn room_event_channel_id() {
38 let channel = Uuid::new_v4();
38 let channel = Uuid::now_v7();
3939 let evt = ChatRoomEvent::MessageDeleted {
4040 channel_id: channel,
41 message_id: Uuid::new_v4(),
42 by: Uuid::new_v4(),
41 message_id: Uuid::now_v7(),
42 by: Uuid::now_v7(),
4343 };
4444 assert_eq!(evt.channel_id(), channel);
4545 }
@@ -47,9 +47,9 @@
4747 #[test]
4848 fn user_event_serde_roundtrip() {
4949 let evt = ChatUserEvent::ReadReceiptAck {
50 user_id: Uuid::new_v4(),
51 channel_id: Uuid::new_v4(),
52 last_read_message_id: Uuid::new_v4(),
50 user_id: Uuid::now_v7(),
51 channel_id: Uuid::now_v7(),
52 last_read_message_id: Uuid::now_v7(),
5353 ts: time::OffsetDateTime::now_utc(),
5454 };
5555 let json = serde_json::to_string(&evt).unwrap();
@@ -59,11 +59,11 @@
5959
6060 #[test]
6161 fn envelope_key_derivation() {
62 let channel = Uuid::new_v4();
62 let channel = Uuid::now_v7();
6363 let evt = ChatRoomEvent::PinToggle {
6464 channel_id: channel,
65 message_id: Uuid::new_v4(),
66 by: Uuid::new_v4(),
65 message_id: Uuid::now_v7(),
66 by: Uuid::now_v7(),
6767 pinned: true,
6868 };
6969 assert_eq!(evt.channel_id(), channel);
Modified chat/chatlayer/projection/room.rs chat/chatlayer/projection/room.rs +5 −5 View chat/chatlayer/projection/room.rs
@@ -259,8 +259,8 @@
259259 async fn message_created_persists_and_is_idempotent() {
260260 let store = ChatStorageFactory::in_memory();
261261 let idem = MemIdempotency(Mutex::new(HashMap::new()));
262 let sender = Uuid::new_v4();
263 let channel = Uuid::new_v4();
262 let sender = Uuid::now_v7();
263 let channel = Uuid::now_v7();
264264
265265 let envelope = EventEnvelope::new(
266266 sender,
@@ -300,9 +300,9 @@
300300 async fn mention_fans_out_to_target() {
301301 let store = ChatStorageFactory::in_memory();
302302 let idem = MemIdempotency(Mutex::new(HashMap::new()));
303 let sender = Uuid::new_v4();
304 let target = Uuid::new_v4();
305 let channel = Uuid::new_v4();
303 let sender = Uuid::now_v7();
304 let target = Uuid::now_v7();
305 let channel = Uuid::now_v7();
306306
307307 let mut mcmd = cmd(channel, sender, "hello @bob", "c-2");
308308 mcmd.mentions = vec![MentionSpec::user(target)];
Modified chat/chatlayer/auth_bridge.rs chat/chatlayer/auth_bridge.rs +1 −1 View chat/chatlayer/auth_bridge.rs
@@ -70,7 +70,7 @@
7070 #[test]
7171 fn identity_roundtrip_empty_session_is_none() {
7272 let identity = AuthIdentity {
73 user_id: Uuid::new_v4(),
73 user_id: Uuid::now_v7(),
7474 session_id: None,
7575 };
7676 assert_eq!(identity.session_id, None);
Modified chat/chatlayer/media.rs chat/chatlayer/media.rs +1 −1 View chat/chatlayer/media.rs
@@ -133,7 +133,7 @@
133133 )));
134134 }
135135
136 let attachment_id = Uuid::new_v4();
136 let attachment_id = Uuid::now_v7();
137137 let path = AttachmentPath::new(owner, Uuid::nil(), filename);
138138 let key = path.as_key();
139139 let object_path = Self::object_path(&key);
Modified chat/storagelayer/blob/media.rs chat/storagelayer/blob/media.rs +1 −1 View chat/storagelayer/blob/media.rs
@@ -30,7 +30,7 @@
3030 "{}/{}/{}-{}",
3131 self.owner.as_str(),
3232 self.owner_id,
33 Uuid::new_v4(),
33 Uuid::now_v7(),
3434 sanitized
3535 )
3636 }
Modified chat/storagelayer/mapper/attachment.rs chat/storagelayer/mapper/attachment.rs +1 −1 View chat/storagelayer/mapper/attachment.rs
@@ -39,7 +39,7 @@
3939 .await?;
4040 let db = self.db.writer();
4141 let active = att_entity::ActiveModel {
42 id: Set(Uuid::new_v4()),
42 id: Set(Uuid::now_v7()),
4343 owner_type: Set(input.owner.into()),
4444 owner_id: Set(input.owner_id),
4545 filename: Set(input.filename),
Modified chat/storagelayer/mapper/conversation.rs chat/storagelayer/mapper/conversation.rs +1 −1 View chat/storagelayer/mapper/conversation.rs
@@ -54,7 +54,7 @@
5454 input: NewConversation,
5555 ) -> ChatStorageResult<Conversation> {
5656 let creator = auth::require_authenticated(ctx).await?;
57 let id = Uuid::new_v4();
57 let id = Uuid::now_v7();
5858 let now = OffsetDateTime::now_utc();
5959
6060 let space_id = input.space_id;
Modified chat/storagelayer/mapper/mention.rs chat/storagelayer/mapper/mention.rs +1 −1 View chat/storagelayer/mapper/mention.rs
@@ -34,7 +34,7 @@
3434 auth::require_member(&self.db, ctx, chat_id).await?;
3535 let db = self.db.writer();
3636 let active = mention_entity::ActiveModel {
37 id: Set(Uuid::new_v4()),
37 id: Set(Uuid::now_v7()),
3838 message_id: Set(input.message_id),
3939 user_id: Set(input.user_id),
4040 role_id: Set(input.role_id),
Modified chat/storagelayer/mapper/message.rs chat/storagelayer/mapper/message.rs +1 −1 View chat/storagelayer/mapper/message.rs
@@ -38,7 +38,7 @@
3838 crate::auth::require_member(&self.db, ctx, input.chat_id).await?;
3939 crate::auth::require_self(ctx, input.sender_id)?;
4040 let db = self.db.writer();
41 let id = Uuid::new_v4();
41 let id = Uuid::now_v7();
4242 let now = OffsetDateTime::now_utc();
4343
4444 let created = db
Modified chat/storagelayer/mapper/pinned.rs chat/storagelayer/mapper/pinned.rs +1 −1 View chat/storagelayer/mapper/pinned.rs
@@ -50,7 +50,7 @@
5050 return Err(ChatStorageError::Conflict("message already pinned".into()));
5151 }
5252 let active = pinned_entity::ActiveModel {
53 id: Set(Uuid::new_v4()),
53 id: Set(Uuid::now_v7()),
5454 chat_id: Set(input.chat_id),
5555 message_id: Set(input.message_id),
5656 pinned_by: Set(input.pinned_by),
Modified chat/storagelayer/mapper/reaction.rs chat/storagelayer/mapper/reaction.rs +1 −1 View chat/storagelayer/mapper/reaction.rs
@@ -48,7 +48,7 @@
4848 return Err(ChatStorageError::Conflict("reaction already exists".into()));
4949 }
5050 let active = reaction_entity::ActiveModel {
51 id: Set(Uuid::new_v4()),
51 id: Set(Uuid::now_v7()),
5252 message_id: Set(input.message_id),
5353 user_id: Set(input.user_id),
5454 emoji: Set(input.emoji),
Modified chat/storagelayer/mapper/read_receipt.rs chat/storagelayer/mapper/read_receipt.rs +2 −2 View chat/storagelayer/mapper/read_receipt.rs
@@ -51,7 +51,7 @@
5151 return Ok(updated.into());
5252 }
5353 let active = read_entity::ActiveModel {
54 id: Set(Uuid::new_v4()),
54 id: Set(Uuid::now_v7()),
5555 chat_id: Set(input.chat_id),
5656 user_id: Set(input.user_id),
5757 thread_id: Set(input.thread_id),
@@ -123,7 +123,7 @@
123123 active.update(&db).await?;
124124 } else {
125125 let active = read_entity::ActiveModel {
126 id: Set(Uuid::new_v4()),
126 id: Set(Uuid::now_v7()),
127127 chat_id: Set(chat_id),
128128 user_id: Set(user_id),
129129 thread_id: Set(None),
Modified chat/storagelayer/mock/in_memory.rs chat/storagelayer/mock/in_memory.rs +9 −9 View chat/storagelayer/mock/in_memory.rs
@@ -176,8 +176,8 @@
176176 let creator = require_user(ctx)?;
177177 let now = OffsetDateTime::now_utc();
178178 let conv = Conversation {
179 id: Uuid::new_v4(),
180 channel_id: Uuid::new_v4(),
179 id: Uuid::now_v7(),
180 channel_id: Uuid::now_v7(),
181181 kind: input.kind,
182182 counterpart_user_id: input.counterpart_user_id,
183183 title: input.title,
@@ -303,7 +303,7 @@
303303 }
304304 let now = OffsetDateTime::now_utc();
305305 let msg = Message {
306 id: Uuid::new_v4(),
306 id: Uuid::now_v7(),
307307 chat_id: input.chat_id,
308308 sender_id: input.sender_id,
309309 body: input.body,
@@ -476,7 +476,7 @@
476476 ) -> ChatStorageResult<Attachment> {
477477 require_user(ctx)?;
478478 let att = Attachment {
479 id: Uuid::new_v4(),
479 id: Uuid::now_v7(),
480480 owner: input.owner,
481481 owner_id: input.owner_id,
482482 filename: input.filename,
@@ -623,7 +623,7 @@
623623 .ok_or(ChatStorageError::MessageNotFound(input.message_id))?;
624624 require_member(&self.state, ctx, chat_id)?;
625625 let r = Reaction {
626 id: Uuid::new_v4(),
626 id: Uuid::now_v7(),
627627 message_id: input.message_id,
628628 user_id: input.user_id,
629629 emoji: input.emoji,
@@ -699,7 +699,7 @@
699699 .ok_or(ChatStorageError::MessageNotFound(input.message_id))?;
700700 require_member(&self.state, ctx, chat_id)?;
701701 let m = Mention {
702 id: Uuid::new_v4(),
702 id: Uuid::now_v7(),
703703 message_id: input.message_id,
704704 user_id: input.user_id,
705705 role_id: input.role_id,
@@ -790,7 +790,7 @@
790790 return Ok(existing.clone());
791791 }
792792 let r = ReadReceipt {
793 id: Uuid::new_v4(),
793 id: Uuid::now_v7(),
794794 chat_id: input.chat_id,
795795 user_id: input.user_id,
796796 thread_id: input.thread_id,
@@ -852,7 +852,7 @@
852852 }
853853 None => {
854854 let r = ReadReceipt {
855 id: Uuid::new_v4(),
855 id: Uuid::now_v7(),
856856 chat_id,
857857 user_id: caller,
858858 thread_id: None,
@@ -894,7 +894,7 @@
894894 }
895895 require_admin(&self.state, ctx, input.chat_id)?;
896896 let p = PinnedMessage {
897 id: Uuid::new_v4(),
897 id: Uuid::now_v7(),
898898 chat_id: input.chat_id,
899899 message_id: input.message_id,
900900 pinned_by: input.pinned_by,
Modified chat/storagelayer/mapping.rs chat/storagelayer/mapping.rs +5 −5 View chat/storagelayer/mapping.rs
@@ -120,7 +120,7 @@
120120 type Error = ChatStorageError;
121121 fn try_from(m: NewMessage) -> ChatStorageResult<Self> {
122122 Ok(Self {
123 id: Set(Uuid::new_v4()),
123 id: Set(Uuid::now_v7()),
124124 chat_id: Set(m.chat_id),
125125 sender_id: Set(m.sender_id),
126126 body: Set(m.body),
@@ -168,7 +168,7 @@
168168 type Error = ChatStorageError;
169169 fn try_from(r: NewReaction) -> ChatStorageResult<Self> {
170170 Ok(Self {
171 id: Set(Uuid::new_v4()),
171 id: Set(Uuid::now_v7()),
172172 message_id: Set(r.message_id),
173173 user_id: Set(r.user_id),
174174 emoji: Set(r.emoji),
@@ -196,7 +196,7 @@
196196 type Error = ChatStorageError;
197197 fn try_from(m: NewMention) -> ChatStorageResult<Self> {
198198 Ok(Self {
199 id: Set(Uuid::new_v4()),
199 id: Set(Uuid::now_v7()),
200200 message_id: Set(m.message_id),
201201 user_id: Set(m.user_id),
202202 role_id: Set(m.role_id),
@@ -224,7 +224,7 @@
224224 type Error = ChatStorageError;
225225 fn try_from(p: NewPinnedMessage) -> ChatStorageResult<Self> {
226226 Ok(Self {
227 id: Set(Uuid::new_v4()),
227 id: Set(Uuid::now_v7()),
228228 chat_id: Set(p.chat_id),
229229 message_id: Set(p.message_id),
230230 pinned_by: Set(p.pinned_by),
@@ -251,7 +251,7 @@
251251 type Error = ChatStorageError;
252252 fn try_from(r: NewReadReceipt) -> ChatStorageResult<Self> {
253253 Ok(Self {
254 id: Set(Uuid::new_v4()),
254 id: Set(Uuid::now_v7()),
255255 chat_id: Set(r.chat_id),
256256 user_id: Set(r.user_id),
257257 thread_id: Set(r.thread_id),
Modified dvcs/gitauth/service.rs dvcs/gitauth/service.rs +24 −24 View dvcs/gitauth/service.rs
@@ -306,7 +306,7 @@
306306 mode: repo_collaborations::CollaborationMode,
307307 ) {
308308 let model = repo_collaborations::ActiveModel {
309 id: Set(Uuid::new_v4()),
309 id: Set(Uuid::now_v7()),
310310 repo_id: Set(repo_id),
311311 user_id: Set(user_id),
312312 mode: Set(mode),
@@ -331,7 +331,7 @@
331331 #[tokio::test]
332332 async fn authenticate_ok_with_password() {
333333 let (svc, conn) = make_service().await;
334 let uid = Uuid::new_v4();
334 let uid = Uuid::now_v7();
335335 let hash = hash_for("secret");
336336 insert_user(&conn, uid, "alice", Some(hash.as_ref())).await;
337337 let auth = svc.authenticate("Alice", "secret").await.expect("auth");
@@ -344,7 +344,7 @@
344344 async fn authenticate_rejects_wrong_password() {
345345 let (svc, conn) = make_service().await;
346346 let hash = hash_for("secret");
347 insert_user(&conn, Uuid::new_v4(), "alice", Some(hash.as_ref())).await;
347 insert_user(&conn, Uuid::now_v7(), "alice", Some(hash.as_ref())).await;
348348 let err = svc
349349 .authenticate("alice", "wrong")
350350 .await
@@ -365,10 +365,10 @@
365365 #[tokio::test]
366366 async fn resolve_repo_ok_and_not_found() {
367367 let (svc, conn) = make_service().await;
368 let owner = Uuid::new_v4();
369 let space_id = Uuid::new_v4();
370 let channel_id = Uuid::new_v4();
371 let repo_id = Uuid::new_v4();
368 let owner = Uuid::now_v7();
369 let space_id = Uuid::now_v7();
370 let channel_id = Uuid::now_v7();
371 let repo_id = Uuid::now_v7();
372372 insert_user(&conn, owner, "owner", None).await;
373373 insert_space(&conn, space_id, "acme", owner, true).await;
374374 insert_channel(&conn, channel_id, space_id, "dev", owner).await;
@@ -394,10 +394,10 @@
394394 #[tokio::test]
395395 async fn authorize_public_repo_anonymous_read() {
396396 let (svc, conn) = make_service().await;
397 let owner = Uuid::new_v4();
398 let space_id = Uuid::new_v4();
399 let channel_id = Uuid::new_v4();
400 let repo_id = Uuid::new_v4();
397 let owner = Uuid::now_v7();
398 let space_id = Uuid::now_v7();
399 let channel_id = Uuid::now_v7();
400 let repo_id = Uuid::now_v7();
401401 insert_user(&conn, owner, "owner", None).await;
402402 insert_space(&conn, space_id, "acme", owner, true).await;
403403 insert_channel(&conn, channel_id, space_id, "dev", owner).await;
@@ -412,13 +412,13 @@
412412 #[tokio::test]
413413 async fn authorize_private_repo_anonymous_rejected() {
414414 let (svc, conn) = make_service().await;
415 let owner = Uuid::new_v4();
416 let space_id = Uuid::new_v4();
417 let channel_id = Uuid::new_v4();
415 let owner = Uuid::now_v7();
416 let space_id = Uuid::now_v7();
417 let channel_id = Uuid::now_v7();
418418 insert_user(&conn, owner, "owner", None).await;
419419 insert_space(&conn, space_id, "acme", owner, true).await;
420420 insert_channel(&conn, channel_id, space_id, "dev", owner).await;
421 insert_repo(&conn, Uuid::new_v4(), channel_id, "secret", true).await;
421 insert_repo(&conn, Uuid::now_v7(), channel_id, "secret", true).await;
422422
423423 let actor = ActorContext::anonymous();
424424 let err = svc
@@ -431,11 +431,11 @@
431431 #[tokio::test]
432432 async fn authorize_collaborator_write() {
433433 let (svc, conn) = make_service().await;
434 let owner = Uuid::new_v4();
435 let collab = Uuid::new_v4();
436 let space_id = Uuid::new_v4();
437 let channel_id = Uuid::new_v4();
438 let repo_id = Uuid::new_v4();
434 let owner = Uuid::now_v7();
435 let collab = Uuid::now_v7();
436 let space_id = Uuid::now_v7();
437 let channel_id = Uuid::now_v7();
438 let repo_id = Uuid::now_v7();
439439 insert_user(&conn, owner, "owner", None).await;
440440 insert_user(&conn, collab, "bob", None).await;
441441 insert_space(&conn, space_id, "acme", owner, true).await;
@@ -463,13 +463,13 @@
463463 #[tokio::test]
464464 async fn authorize_space_owner_admin() {
465465 let (svc, conn) = make_service().await;
466 let owner = Uuid::new_v4();
467 let space_id = Uuid::new_v4();
468 let channel_id = Uuid::new_v4();
466 let owner = Uuid::now_v7();
467 let space_id = Uuid::now_v7();
468 let channel_id = Uuid::now_v7();
469469 insert_user(&conn, owner, "owner", None).await;
470470 insert_space(&conn, space_id, "acme", owner, true).await;
471471 insert_channel(&conn, channel_id, space_id, "dev", owner).await;
472 insert_repo(&conn, Uuid::new_v4(), channel_id, "widget", true).await;
472 insert_repo(&conn, Uuid::now_v7(), channel_id, "widget", true).await;
473473
474474 let actor = actor_for_uid(owner);
475475 svc.authorize("acme", "widget", &actor, RepoAccess::Admin)
Modified dvcs/gitsmart/tests/smart.rs dvcs/gitsmart/tests/smart.rs +5 −5 View dvcs/gitsmart/tests/smart.rs
@@ -227,10 +227,10 @@
227227 let conn = setup_db().await;
228228 let db = Db::from_connection(conn.clone());
229229
230 let alice = Uuid::new_v4();
231 let space_id = Uuid::new_v4();
232 let channel_id = Uuid::new_v4();
233 let repo_id = Uuid::new_v4();
230 let alice = Uuid::now_v7();
231 let space_id = Uuid::now_v7();
232 let channel_id = Uuid::now_v7();
233 let repo_id = Uuid::now_v7();
234234
235235 insert_user(&conn, alice, "alice", Some(hash_for("secret").as_str())).await;
236236 insert_space(&conn, space_id, "acme", alice, true).await;
@@ -430,7 +430,7 @@
430430 let srv = start_server().await;
431431 let client = reqwest::Client::new();
432432
433 let repo_id = Uuid::new_v4();
433 let repo_id = Uuid::now_v7();
434434 insert_repo(&srv.db, repo_id, srv.channel_id, "secret", true).await;
435435
436436 let bare = srv
Modified dvcs/gitsmart/push.rs dvcs/gitsmart/push.rs +1 −1 View dvcs/gitsmart/push.rs
@@ -111,7 +111,7 @@
111111 key: &str,
112112 f: impl std::future::Future<Output = SmartResult<T>>,
113113 ) -> SmartResult<T> {
114 let token = Uuid::new_v4().to_string();
114 let token = Uuid::now_v7().to_string();
115115 let mut mode: &'static str = "waited";
116116 let result: SmartResult<T> = async {
117117 if self
Modified dvcs/gitssh/tests/ssh_roundtrip.rs dvcs/gitssh/tests/ssh_roundtrip.rs +5 −5 View dvcs/gitssh/tests/ssh_roundtrip.rs
@@ -173,7 +173,7 @@
173173async fn insert_ssh_key(db: &impl ConnectionTrait, user_id: Uuid, content: &str) {
174174 let fingerprint = sha256_hex(content.as_bytes());
175175 let am: user_ssh_keys::ActiveModel = user_ssh_keys::ActiveModel::builder()
176 .set_id(Uuid::new_v4())
176 .set_id(Uuid::now_v7())
177177 .set_user_id(user_id)
178178 .set_key_type(user_ssh_keys::SshKeyType::SshEd25519)
179179 .set_fingerprint(fingerprint)
@@ -224,10 +224,10 @@
224224 let conn = setup_db().await;
225225 let db = Db::from_connection(conn.clone());
226226
227 let alice = Uuid::new_v4();
228 let space_id = Uuid::new_v4();
229 let channel_id = Uuid::new_v4();
230 let repo_id = Uuid::new_v4();
227 let alice = Uuid::now_v7();
228 let space_id = Uuid::now_v7();
229 let channel_id = Uuid::now_v7();
230 let repo_id = Uuid::now_v7();
231231
232232 insert_user(&conn, alice, "alice").await;
233233 insert_space(&conn, space_id, "acme", alice).await;
Modified dvcs/gitsync/branches.rs dvcs/gitsync/branches.rs +1 −1 View dvcs/gitsync/branches.rs
@@ -57,7 +57,7 @@
5757 None => {
5858 let now = OffsetDateTime::now_utc();
5959 git_branches::ActiveModel {
60 id: Set(Uuid::new_v4()),
60 id: Set(Uuid::now_v7()),
6161 repo_id: Set(repo.id),
6262 name: Set(tip.name.clone()),
6363 commit_sha: Set(tip.target_sha.clone()),
Modified dvcs/gitsync/event.rs dvcs/gitsync/event.rs +1 −1 View dvcs/gitsync/event.rs
@@ -55,7 +55,7 @@
5555 refs: Vec<PostReceiveRefUpdate>,
5656 ) -> Self {
5757 Self {
58 id: Uuid::new_v4(),
58 id: Uuid::now_v7(),
5959 repo_id,
6060 channel_id,
6161 actor_id,
Modified dvcs/gitsync/languages.rs dvcs/gitsync/languages.rs +1 −1 View dvcs/gitsync/languages.rs
@@ -54,7 +54,7 @@
5454 Some(_) => {}
5555 None => {
5656 git_languages::ActiveModel {
57 id: Set(Uuid::new_v4()),
57 id: Set(Uuid::now_v7()),
5858 repo_id: Set(repo.id),
5959 language: Set(lang.language.clone()),
6060 percentage: Set(lang.percentage),
Modified dvcs/gitsync/lock.rs dvcs/gitsync/lock.rs +1 −1 View dvcs/gitsync/lock.rs
@@ -51,7 +51,7 @@
5151 ttl_secs: u64,
5252) -> SyncResult<Option<SyncLock>> {
5353 let key = lock_key(repo_id);
54 let value = format!("{}:{}", Uuid::new_v4(), process::id());
54 let value = format!("{}:{}", Uuid::now_v7(), process::id());
5555
5656 let acquired = kv
5757 .set_nx(&key, value.as_bytes().to_vec(), ttl_secs)
Modified dvcs/gitsync/tags.rs dvcs/gitsync/tags.rs +1 −1 View dvcs/gitsync/tags.rs
@@ -52,7 +52,7 @@
5252 Some(_) => {}
5353 None => {
5454 git_tags::ActiveModel {
55 id: Set(Uuid::new_v4()),
55 id: Set(Uuid::now_v7()),
5656 repo_id: Set(repo.id),
5757 name: Set(tip.name.clone()),
5858 tag_type: Set(tip.tag_type),
Modified lib/auth/features/agreement/usecase.rs lib/auth/features/agreement/usecase.rs +1 −1 View lib/auth/features/agreement/usecase.rs
@@ -56,7 +56,7 @@
5656 let key = cmd.agreement_key.clone();
5757 let version = cmd.agreement_version.clone();
5858 let am: AcceptActiveModel = AcceptActiveModel::builder()
59 .set_id(Uuid::new_v4())
59 .set_id(Uuid::now_v7())
6060 .set_user_id(cmd.user_id)
6161 .set_agreement_key(cmd.agreement_key)
6262 .set_agreement_version(cmd.agreement_version)
Modified lib/auth/features/email_code/usecase.rs lib/auth/features/email_code/usecase.rs +2 −2 View lib/auth/features/email_code/usecase.rs
@@ -129,7 +129,7 @@
129129 .await;
130130
131131 let code = generate_numeric_code(config.verify_code_len);
132 let temp_id = Uuid::new_v4();
132 let temp_id = Uuid::now_v7();
133133 let ttl = config.verify_code_ttl_secs;
134134 let now = OffsetDateTime::now_utc();
135135 let expires_at = now + time::Duration::seconds(ttl as i64);
@@ -141,7 +141,7 @@
141141
142142 let token_hash = sha256_hex(code.as_bytes());
143143 let row: CodeActiveModel = CodeActiveModel::builder()
144 .set_id(Uuid::new_v4())
144 .set_id(Uuid::now_v7())
145145 .set_user_id(cmd.user_id)
146146 .set_email(cmd.email.clone())
147147 .set_purpose(cmd.purpose)
Modified lib/auth/features/forgot_password/usecase.rs lib/auth/features/forgot_password/usecase.rs +2 −2 View lib/auth/features/forgot_password/usecase.rs
@@ -119,7 +119,7 @@
119119 let now = OffsetDateTime::now_utc();
120120 let expires_at = now + time::Duration::seconds(ttl as i64);
121121
122 let temp_id = Uuid::new_v4();
122 let temp_id = Uuid::now_v7();
123123 let temp_key = TempKey {
124124 name: cookie_name(&svc.config.cookie_name_prefix, &lower),
125125 value: temp_id.to_string(),
@@ -141,7 +141,7 @@
141141 .map_err(map_redis)?;
142142
143143 let row: TokenActiveModel = TokenActiveModel::builder()
144 .set_id(Uuid::new_v4())
144 .set_id(Uuid::now_v7())
145145 .set_user_id(em.user_id)
146146 .set_token_hash(token_hash)
147147 .set_created_at(now)
Modified lib/auth/features/oauth/usecase.rs lib/auth/features/oauth/usecase.rs +5 −5 View lib/auth/features/oauth/usecase.rs
@@ -136,7 +136,7 @@
136136 let mp = to_metrics_provider(provider);
137137 let result: Result<AuthorizationUrlResp, AuthError> = async {
138138 let cfg = get_provider_cfg(&svc.config, provider)?;
139 let temp_id = Uuid::new_v4();
139 let temp_id = Uuid::now_v7();
140140 let state = generate_state();
141141 let ttl = svc.config.oauth_state_ttl_secs;
142142
@@ -246,7 +246,7 @@
246246 {
247247 let now = OffsetDateTime::now_utc();
248248 let am: ProviderActiveModel = ProviderActiveModel::builder()
249 .set_id(Uuid::new_v4())
249 .set_id(Uuid::now_v7())
250250 .set_user_id(em.user_id)
251251 .set_provider(identity.provider.as_str().to_string())
252252 .set_provider_user_id(identity.provider_user_id.clone())
@@ -306,7 +306,7 @@
306306
307307 metrics::record_oauth_user_resolution(OAuthResolutionBranch::AutoRegister);
308308 let now = OffsetDateTime::now_utc();
309 let uid = Uuid::new_v4();
309 let uid = Uuid::now_v7();
310310 let email = identity.email.clone().ok_or_else(|| {
311311 AuthError::BadRequest(
312312 "provider did not return a verified email; cannot auto-register".into(),
@@ -357,7 +357,7 @@
357357 user_am.insert(&txn).await?;
358358
359359 let email_am: EmailActiveModel = EmailActiveModel::builder()
360 .set_id(Uuid::new_v4())
360 .set_id(Uuid::now_v7())
361361 .set_user_id(uid)
362362 .set_email(email.clone())
363363 .set_lower_email(lower_email(&email))
@@ -371,7 +371,7 @@
371371 email_am.insert(&txn).await?;
372372
373373 let provider_am: ProviderActiveModel = ProviderActiveModel::builder()
374 .set_id(Uuid::new_v4())
374 .set_id(Uuid::now_v7())
375375 .set_user_id(uid)
376376 .set_provider(identity.provider.as_str().to_string())
377377 .set_provider_user_id(identity.provider_user_id.clone())
Modified lib/auth/features/reclaim/usecase.rs lib/auth/features/reclaim/usecase.rs +1 −1 View lib/auth/features/reclaim/usecase.rs
@@ -82,7 +82,7 @@
8282 EmailVerificationPurpose::Signup,
8383 &cmd.email,
8484 ),
85 value: uuid::Uuid::new_v4().to_string(),
85 value: uuid::Uuid::now_v7().to_string(),
8686 ttl_seconds: ttl,
8787 secure: svc.config.cookie_secure,
8888 http_only: true,
Modified lib/auth/features/register/usecase.rs lib/auth/features/register/usecase.rs +2 −2 View lib/auth/features/register/usecase.rs
@@ -134,7 +134,7 @@
134134 }
135135
136136 let now = OffsetDateTime::now_utc();
137 let uid = Uuid::new_v4();
137 let uid = Uuid::now_v7();
138138 let hash =
139139 password_hash::usecase::hash_password(password_hash::PasswordInput {
140140 password: &cmd.password,
@@ -173,7 +173,7 @@
173173 user_am.insert(&txn).await?;
174174
175175 let email_am: EmailActiveModel = EmailActiveModel::builder()
176 .set_id(Uuid::new_v4())
176 .set_id(Uuid::now_v7())
177177 .set_user_id(uid)
178178 .set_email(cmd.email.clone())
179179 .set_lower_email(lower_email(&cmd.email))
Modified lib/auth/features/resend_code/usecase.rs lib/auth/features/resend_code/usecase.rs +1 −1 View lib/auth/features/resend_code/usecase.rs
@@ -94,7 +94,7 @@
9494 .await?;
9595
9696 let ttl = svc.config.verify_code_ttl_secs;
97 let temp_id = uuid::Uuid::new_v4();
97 let temp_id = uuid::Uuid::now_v7();
9898 let temp_key = crate::features::TempKey {
9999 name: format!(
100100 "{}resend_{}_{}",
Modified lib/auth/pow/mod.rs lib/auth/pow/mod.rs +1 −1 View lib/auth/pow/mod.rs
@@ -110,7 +110,7 @@
110110 data.insert("cid".into(), serde_json::Value::String(cid.to_string()));
111111 data.insert(
112112 "nonce".into(),
113 serde_json::Value::String(Uuid::new_v4().to_string()),
113 serde_json::Value::String(Uuid::now_v7().to_string()),
114114 );
115115 let challenge = self.generate_challenge_with(Some(data))?;
116116
Modified lib/issues/features/comment/usecase/create.rs lib/issues/features/comment/usecase/create.rs +1 −1 View lib/issues/features/comment/usecase/create.rs
@@ -44,7 +44,7 @@
4444
4545 let db = svc.db.writer();
4646 let now = OffsetDateTime::now_utc();
47 let id = Uuid::new_v4();
47 let id = Uuid::now_v7();
4848 let active: comment_entity::ActiveModel = comment_entity::ActiveModel::builder()
4949 .set_id(id)
5050 .set_issue_id(issue_id)
Modified lib/issues/features/issue/usecase/create.rs lib/issues/features/issue/usecase/create.rs +2 −2 View lib/issues/features/issue/usecase/create.rs
@@ -47,7 +47,7 @@
4747 Some(c) => c,
4848 None => {
4949 let now = OffsetDateTime::now_utc();
50 let new_collection_id = Uuid::new_v4();
50 let new_collection_id = Uuid::now_v7();
5151 let active: issues_entity::ActiveModel = issues_entity::ActiveModel::builder()
5252 .set_id(new_collection_id)
5353 .set_channel_id(channel_id)
@@ -73,7 +73,7 @@
7373 let next_id = max_id.map(|n| n + 1).unwrap_or(1);
7474
7575 let now = OffsetDateTime::now_utc();
76 let issue_id = Uuid::new_v4();
76 let issue_id = Uuid::now_v7();
7777 let active: issue_entity::ActiveModel = issue_entity::ActiveModel::builder()
7878 .set_id(issue_id)
7979 .set_collection_id(collection.id)
Modified lib/issues/features/issue_attachment/usecase/create.rs lib/issues/features/issue_attachment/usecase/create.rs +1 −1 View lib/issues/features/issue_attachment/usecase/create.rs
@@ -37,7 +37,7 @@
3737 return Err(IssueError::BadRequest("filename is required".into()));
3838 }
3939
40 let id = Uuid::new_v4();
40 let id = Uuid::now_v7();
4141 let path = Path::from(format!(
4242 "issues/{channel_id}/{owner_id}/{owner_type:?}/{id}-{}",
4343 input.filename
Modified lib/issues/features/issue_dependency/usecase/create.rs lib/issues/features/issue_dependency/usecase/create.rs +1 −1 View lib/issues/features/issue_dependency/usecase/create.rs
@@ -27,7 +27,7 @@
2727 ));
2828 }
2929 let db = svc.db.writer();
30 let id = Uuid::new_v4();
30 let id = Uuid::now_v7();
3131 let active: dep_entity::ActiveModel = dep_entity::ActiveModel::builder()
3232 .set_id(id)
3333 .set_issue_id(issue_id)
Modified lib/issues/features/issue_member/usecase/create.rs lib/issues/features/issue_member/usecase/create.rs +1 −1 View lib/issues/features/issue_member/usecase/create.rs
@@ -24,7 +24,7 @@
2424 let kind = parse_kind(&input.kind)?;
2525 let db = svc.db.writer();
2626 let now = OffsetDateTime::now_utc();
27 let id = Uuid::new_v4();
27 let id = Uuid::now_v7();
2828 let active: member_entity::ActiveModel = member_entity::ActiveModel::builder()
2929 .set_id(id)
3030 .set_issue_id(issue_id)
Modified lib/issues/features/issue_pin/usecase/create.rs lib/issues/features/issue_pin/usecase/create.rs +1 −1 View lib/issues/features/issue_pin/usecase/create.rs
@@ -31,7 +31,7 @@
3131 return Err(IssueError::Conflict("issue already pinned".into()));
3232 }
3333 let db = svc.db.writer();
34 let id = Uuid::new_v4();
34 let id = Uuid::now_v7();
3535 let active: pin_entity::ActiveModel = pin_entity::ActiveModel::builder()
3636 .set_id(id)
3737 .set_collection_id(collection_id)
Modified lib/issues/features/issue_reaction/usecase/create.rs lib/issues/features/issue_reaction/usecase/create.rs +2 −2 View lib/issues/features/issue_reaction/usecase/create.rs
@@ -24,7 +24,7 @@
2424 validate_emoji(svc, &input.emoji)?;
2525 ensure_issue_visible(svc, channel_id, issue_id).await?;
2626 let db = svc.db.writer();
27 let id = Uuid::new_v4();
27 let id = Uuid::now_v7();
2828 let active: reaction_entity::ActiveModel = reaction_entity::ActiveModel::builder()
2929 .set_id(id)
3030 .set_issue_id(Some(issue_id))
@@ -75,7 +75,7 @@
7575 .await?
7676 .ok_or_else(|| IssueError::NotFound(format!("comment {comment_id}")))?;
7777 let db = svc.db.writer();
78 let id = Uuid::new_v4();
78 let id = Uuid::now_v7();
7979 let active: reaction_entity::ActiveModel = reaction_entity::ActiveModel::builder()
8080 .set_id(id)
8181 .set_issue_id(None)
Modified lib/issues/features/issue_repo_rel/usecase/create.rs lib/issues/features/issue_repo_rel/usecase/create.rs +1 −1 View lib/issues/features/issue_repo_rel/usecase/create.rs
@@ -22,7 +22,7 @@
2222 require_authenticated(actor)?;
2323 crate::features::issue::usecase::load_issue(svc, channel_id, issue_id).await?;
2424 let db = svc.db.writer();
25 let id = Uuid::new_v4();
25 let id = Uuid::now_v7();
2626 let active: repo_rel_entity::ActiveModel = repo_rel_entity::ActiveModel::builder()
2727 .set_id(id)
2828 .set_issue_id(issue_id)
Modified lib/issues/features/issue_stopwatch/usecase/delete.rs lib/issues/features/issue_stopwatch/usecase/delete.rs +1 −1 View lib/issues/features/issue_stopwatch/usecase/delete.rs
@@ -25,7 +25,7 @@
2525 let txn = db.begin().await?;
2626 let active_sw: db::issue::stopwatch::ActiveModel = cur.into();
2727 active_sw.delete(&txn).await?;
28 let tt_id = Uuid::new_v4();
28 let tt_id = Uuid::now_v7();
2929 let now = OffsetDateTime::now_utc();
3030 let active_tt: db::issue::tracked_time::ActiveModel =
3131 db::issue::tracked_time::ActiveModel {
Modified lib/issues/features/issue_stopwatch/usecase/start.rs lib/issues/features/issue_stopwatch/usecase/start.rs +1 −1 View lib/issues/features/issue_stopwatch/usecase/start.rs
@@ -33,7 +33,7 @@
3333 }
3434 let db = svc.db.writer();
3535 let now = OffsetDateTime::now_utc();
36 let id = Uuid::new_v4();
36 let id = Uuid::now_v7();
3737 let active: sw_entity::ActiveModel = sw_entity::ActiveModel::builder()
3838 .set_id(id)
3939 .set_issue_id(issue_id)
Modified lib/issues/features/issue_watch/usecase/helpers.rs lib/issues/features/issue_watch/usecase/helpers.rs +1 −1 View lib/issues/features/issue_watch/usecase/helpers.rs
@@ -60,7 +60,7 @@
6060 let db = svc.db.writer();
6161 let now = OffsetDateTime::now_utc();
6262 let active: watch_entity::ActiveModel = watch_entity::ActiveModel::builder()
63 .set_id(Uuid::new_v4())
63 .set_id(Uuid::now_v7())
6464 .set_issue_id(issue_id)
6565 .set_user_id(actor)
6666 .set_mode(mode)
Modified lib/issues/features/issues/usecase/create.rs lib/issues/features/issues/usecase/create.rs +1 −1 View lib/issues/features/issues/usecase/create.rs
@@ -46,7 +46,7 @@
4646 }
4747
4848 let now = OffsetDateTime::now_utc();
49 let collection_id = Uuid::new_v4();
49 let collection_id = Uuid::now_v7();
5050
5151 let saved: issues_entity::Model = svc
5252 .db
Modified lib/issues/features/issues/usecase/helpers.rs lib/issues/features/issues/usecase/helpers.rs +1 −1 View lib/issues/features/issues/usecase/helpers.rs
@@ -55,7 +55,7 @@
5555 let db = svc.db.writer();
5656 let now = OffsetDateTime::now_utc();
5757 let active: issues_entity::ActiveModel = issues_entity::ActiveModel::builder()
58 .set_id(Uuid::new_v4())
58 .set_id(Uuid::now_v7())
5959 .set_channel_id(channel_id)
6060 .set_name(svc.config.default_collection_name.clone())
6161 .set_icon(None)
Modified lib/issues/features/label/usecase/bind.rs lib/issues/features/label/usecase/bind.rs +1 −1 View lib/issues/features/label/usecase/bind.rs
@@ -38,7 +38,7 @@
3838 let db = svc.db.writer();
3939 let now = OffsetDateTime::now_utc();
4040 let active: rel_entity::ActiveModel = rel_entity::ActiveModel::builder()
41 .set_id(Uuid::new_v4())
41 .set_id(Uuid::now_v7())
4242 .set_issue_id(issue_id)
4343 .set_label_id(label_id)
4444 .set_created_at(now)
Modified lib/issues/features/label/usecase/create.rs lib/issues/features/label/usecase/create.rs +1 −1 View lib/issues/features/label/usecase/create.rs
@@ -36,7 +36,7 @@
3636
3737 let db = svc.db.writer();
3838 let now = OffsetDateTime::now_utc();
39 let id = Uuid::new_v4();
39 let id = Uuid::now_v7();
4040 let active: label_entity::ActiveModel = label_entity::ActiveModel::builder()
4141 .set_id(id)
4242 .set_channel_id(channel_id)
Modified lib/issues/features/milestone/usecase/create.rs lib/issues/features/milestone/usecase/create.rs +1 −1 View lib/issues/features/milestone/usecase/create.rs
@@ -47,7 +47,7 @@
4747 let collection = load_issue_collection(svc, channel_id).await?;
4848 let db = svc.db.writer();
4949 let now = OffsetDateTime::now_utc();
50 let id = Uuid::new_v4();
50 let id = Uuid::now_v7();
5151 let active: milestone_entity::ActiveModel = milestone_entity::ActiveModel::builder()
5252 .set_id(id)
5353 .set_collection_id(collection.id)
Modified lib/jwt/claims.rs lib/jwt/claims.rs +2 −2 View lib/jwt/claims.rs
@@ -53,7 +53,7 @@
5353 exp: iat + ttl,
5454 iss: issuer.to_string(),
5555 aud: audience.to_string(),
56 jti: Uuid::new_v4(),
56 jti: Uuid::now_v7(),
5757 scope: String::new(),
5858 kid: kid.to_string(),
5959 pwd_version,
@@ -91,7 +91,7 @@
9191 Self {
9292 sub,
9393 family_id,
94 jti: Uuid::new_v4(),
94 jti: Uuid::now_v7(),
9595 iat,
9696 exp: iat + ttl,
9797 iss: issuer.to_string(),
Modified lib/jwt/rotation.rs lib/jwt/rotation.rs +1 −1 View lib/jwt/rotation.rs
@@ -56,7 +56,7 @@
5656) -> Result<TokenPair, JwtError> {
5757 let result: Result<TokenPair, JwtError> = async {
5858 let (kid, encoding, alg) = current_key(ctx)?;
59 let family_id = Uuid::new_v4();
59 let family_id = Uuid::now_v7();
6060
6161 let access = AccessClaims::new(
6262 user_id,
Modified lib/jwt/session.rs lib/jwt/session.rs +1 −1 View lib/jwt/session.rs
@@ -26,7 +26,7 @@
2626 use db::user::user_sessions::ActiveModel;
2727 let result: Result<db::user::user_sessions::Model, JwtError> = async {
2828 let model: ActiveModel = ActiveModel::builder()
29 .set_id(Uuid::new_v4())
29 .set_id(Uuid::now_v7())
3030 .set_user_id(new.user_id)
3131 .set_token_hash(new.token_hash)
3232 .set_user_agent_hash(None)
Modified lib/jwt/tests.rs lib/jwt/tests.rs +4 −4 View lib/jwt/tests.rs
@@ -20,7 +20,7 @@
2020
2121fn access_claims(kid: &str) -> AccessClaims {
2222 AccessClaims::new(
23 Uuid::new_v4(),
23 Uuid::now_v7(),
2424 "alice".into(),
2525 true,
2626 false,
@@ -51,9 +51,9 @@
5151fn refresh_roundtrip() {
5252 let (enc, dec) = ed25519_key();
5353 let kid = "kid-1";
54 let family = Uuid::new_v4();
54 let family = Uuid::now_v7();
5555 let claims = RefreshClaims::new(
56 Uuid::new_v4(),
56 Uuid::now_v7(),
5757 family,
5858 None,
5959 1,
@@ -186,7 +186,7 @@
186186
187187#[test]
188188fn unknown_kid_returns_error() {
189 let kid = Uuid::new_v4();
189 let kid = Uuid::now_v7();
190190 let cache = crate::keys::SigningKeyCache::new();
191191 assert!(cache.get(&kid).is_none());
192192 assert!(!cache.in_grace_window(&kid));
Modified lib/project/features/documents/usecase.rs lib/project/features/documents/usecase.rs +1 −1 View lib/project/features/documents/usecase.rs
@@ -44,7 +44,7 @@
4444 )));
4545 }
4646
47 let id = Uuid::new_v4();
47 let id = Uuid::now_v7();
4848 let now = OffsetDateTime::now_utc();
4949 let row = doc_entity::ActiveModel {
5050 id: Set(id),
Modified lib/project/features/favorites/usecase.rs lib/project/features/favorites/usecase.rs +1 −1 View lib/project/features/favorites/usecase.rs
@@ -35,7 +35,7 @@
3535 active.update(&svc.db.writer()).await?
3636 } else {
3737 fav_entity::ActiveModel {
38 id: Set(Uuid::new_v4()),
38 id: Set(Uuid::now_v7()),
3939 project_id: Set(project_id),
4040 user_id: Set(actor),
4141 folder: Set(cmd.folder),
Modified lib/project/features/lifecycle/usecase.rs lib/project/features/lifecycle/usecase.rs +3 −3 View lib/project/features/lifecycle/usecase.rs
@@ -45,7 +45,7 @@
4545 .require(permission::VIEW_PROJECT)
4646 .map_err(|a| ProjectError::Forbidden(format!("caller not authorized: missing {a}")))?;
4747
48 let id = Uuid::new_v4();
48 let id = Uuid::now_v7();
4949 let now = OffsetDateTime::now_utc();
5050
5151 let inserted: project_entity::Model = svc
@@ -87,7 +87,7 @@
8787 .await?;
8888
8989 let _ = member_entity::Entity::insert(member_entity::ActiveModel {
90 id: Set(Uuid::new_v4()),
90 id: Set(Uuid::now_v7()),
9191 project_id: Set(id),
9292 user_id: Set(actor),
9393 role: Set(ProjectMemberRole::Owner),
@@ -306,7 +306,7 @@
306306 payload: Option<serde_json::Value>,
307307) {
308308 let _ = activity_entity::ActiveModel {
309 id: Set(Uuid::new_v4()),
309 id: Set(Uuid::now_v7()),
310310 project_id: Set(project_id),
311311 actor_id: Set(actor),
312312 verb: Set(verb.to_string()),
Modified lib/project/features/links/usecase.rs lib/project/features/links/usecase.rs +1 −1 View lib/project/features/links/usecase.rs
@@ -31,7 +31,7 @@
3131 }
3232
3333 let kind: db::project::project_links::ProjectLinkKind = cmd.kind.try_into()?;
34 let id = Uuid::new_v4();
34 let id = Uuid::now_v7();
3535 let now = OffsetDateTime::now_utc();
3636 let row = link_entity::ActiveModel {
3737 id: Set(id),
Modified lib/project/features/members/usecase.rs lib/project/features/members/usecase.rs +1 −1 View lib/project/features/members/usecase.rs
@@ -44,7 +44,7 @@
4444 active.update(&svc.db.writer()).await?
4545 } else {
4646 db::project::project_members::ActiveModel {
47 id: Set(Uuid::new_v4()),
47 id: Set(Uuid::now_v7()),
4848 project_id: Set(project_id),
4949 user_id: Set(cmd.user_id),
5050 role: Set(role),
Modified lib/project/features/views/usecase.rs lib/project/features/views/usecase.rs +1 −1 View lib/project/features/views/usecase.rs
@@ -24,7 +24,7 @@
2424 crate::features::authz::require(svc, actor, space_id, project_id, permission::MANAGE_VIEWS)
2525 .await?;
2626
27 let id = Uuid::new_v4();
27 let id = Uuid::now_v7();
2828 let now = OffsetDateTime::now_utc();
2929 let row = view_entity::ActiveModel {
3030 id: Set(id),
Modified lib/queue/consumer.rs lib/queue/consumer.rs +1 −1 View lib/queue/consumer.rs
@@ -129,7 +129,7 @@
129129 group_id.clone()
130130 }
131131 SubscriptionMode::Broadcast { subscriber_id } => {
132 let unique = format!("{subscriber_id}.{}", Uuid::new_v4());
132 let unique = format!("{subscriber_id}.{}", Uuid::now_v7());
133133 client_cfg
134134 .set("group.id", unique.as_str())
135135 .set("auto.offset.reset", "latest")
Modified lib/queue/producer.rs lib/queue/producer.rs +1 −1 View lib/queue/producer.rs
@@ -50,7 +50,7 @@
5050 ) -> Result<(), QueueError> {
5151 let result: Result<(), QueueError> = async {
5252 let timeout = Duration::from_millis(self.cfg.publish_queue_timeout_ms as u64);
53 let message_id = Uuid::new_v4().to_string();
53 let message_id = Uuid::now_v7().to_string();
5454 let headers = OwnedHeaders::new()
5555 .insert(Header {
5656 key: "message-id",
Modified lib/rate_limit/middleware.rs lib/rate_limit/middleware.rs +2 −2 View lib/rate_limit/middleware.rs
@@ -64,7 +64,7 @@
6464 let existing = read_cookie(request.headers(), &settings.cookie_name);
6565 let rl_id = existing
6666 .clone()
67 .unwrap_or_else(|| Uuid::new_v4().to_string());
67 .unwrap_or_else(|| Uuid::now_v7().to_string());
6868
6969 let api = request.uri().path();
7070 let key = format!("rate:{}:{}", api, rl_id);
@@ -73,7 +73,7 @@
7373 .path_and_query()
7474 .map(|p| p.as_str().to_string())
7575 .unwrap_or_default();
76 let member = format!("{}:{}", Uuid::new_v4(), url);
76 let member = format!("{}:{}", Uuid::now_v7(), url);
7777
7878 let ttl = (settings.window_secs + 60) as u64;
7979 let _ = kv.zadd(&key, &member, now as f64, ttl).await;
Modified lib/repo/features/branch/usecase.rs lib/repo/features/branch/usecase.rs +1 −1 View lib/repo/features/branch/usecase.rs
@@ -113,7 +113,7 @@
113113 let db = svc.db.writer();
114114 let now = OffsetDateTime::now_utc();
115115 let active: branch_entity::ActiveModel = branch_entity::ActiveModel {
116 id: Set(Uuid::new_v4()),
116 id: Set(Uuid::now_v7()),
117117 repo_id: Set(repo_id),
118118 name: Set(new_name),
119119 commit_sha: Set(source.commit_sha),
Modified lib/repo/features/branch_protection/usecase.rs lib/repo/features/branch_protection/usecase.rs +1 −1 View lib/repo/features/branch_protection/usecase.rs
@@ -83,7 +83,7 @@
8383 let db = svc.db.writer();
8484 let now = OffsetDateTime::now_utc();
8585 let active: policy_entity::ActiveModel = policy_entity::ActiveModel {
86 id: Set(Uuid::new_v4()),
86 id: Set(Uuid::now_v7()),
8787 repo_id: Set(repo_id),
8888 branch_name: Set(branch_name),
8989 enable_push: Set(input.enable_push.unwrap_or(true)),
Modified lib/repo/features/collab/usecase.rs lib/repo/features/collab/usecase.rs +1 −1 View lib/repo/features/collab/usecase.rs
@@ -118,7 +118,7 @@
118118 active.update(&db).await?;
119119 } else {
120120 let active: collab_entity::ActiveModel = collab_entity::ActiveModel {
121 id: Set(Uuid::new_v4()),
121 id: Set(Uuid::now_v7()),
122122 repo_id: Set(repo_id),
123123 user_id: Set(user_id),
124124 mode: Set(mode),
Modified lib/repo/features/commit_status/usecase.rs lib/repo/features/commit_status/usecase.rs +1 −1 View lib/repo/features/commit_status/usecase.rs
@@ -98,7 +98,7 @@
9898 let db = svc.db.writer();
9999 let now = OffsetDateTime::now_utc();
100100 let active: status_entity::ActiveModel = status_entity::ActiveModel {
101 id: Set(Uuid::new_v4()),
101 id: Set(Uuid::now_v7()),
102102 repo_id: Set(repo_id),
103103 sha: Set(sha.to_string()),
104104 state: Set(state),
Modified lib/repo/features/deploy_key/usecase.rs lib/repo/features/deploy_key/usecase.rs +1 −1 View lib/repo/features/deploy_key/usecase.rs
@@ -103,7 +103,7 @@
103103 let db = svc.db.writer();
104104 let now = OffsetDateTime::now_utc();
105105 let active: key_entity::ActiveModel = key_entity::ActiveModel {
106 id: Set(Uuid::new_v4()),
106 id: Set(Uuid::now_v7()),
107107 repo_id: Set(repo_id),
108108 title: Set(input.title),
109109 key_type: Set(db::repo::repo_deploy_keys::DeployKeyType::Ed25519),
Modified lib/repo/features/lifecycle/usecase/create.rs lib/repo/features/lifecycle/usecase/create.rs +1 −1 View lib/repo/features/lifecycle/usecase/create.rs
@@ -64,7 +64,7 @@
6464 .unwrap_or_else(|| svc.config.default_branch.clone());
6565
6666 let now = OffsetDateTime::now_utc();
67 let repo_id = Uuid::new_v4();
67 let repo_id = Uuid::now_v7();
6868
6969 let saved: repo_entity::Model = svc
7070 .db
Modified lib/repo/features/lifecycle/usecase/fork.rs lib/repo/features/lifecycle/usecase/fork.rs +2 −2 View lib/repo/features/lifecycle/usecase/fork.rs
@@ -24,11 +24,11 @@
2424 let _ = load_repo(svc, channel_id, repo_id).await?;
2525 let new_name = match input.name {
2626 Some(n) => validate_repo_name(&n, svc.config.max_repo_name_len)?,
27 None => format!("{}-fork", Uuid::new_v4()),
27 None => format!("{}-fork", Uuid::now_v7()),
2828 };
2929 let db = svc.db.writer();
3030 let now = OffsetDateTime::now_utc();
31 let new_id = Uuid::new_v4();
31 let new_id = Uuid::now_v7();
3232 let active: repo_entity::ActiveModel = repo_entity::ActiveModel {
3333 id: Set(new_id),
3434 channel_id: Set(input.to_channel_id),
Modified lib/repo/features/lifecycle/usecase/generate.rs lib/repo/features/lifecycle/usecase/generate.rs +1 −1 View lib/repo/features/lifecycle/usecase/generate.rs
@@ -27,7 +27,7 @@
2727 let new_name = validate_repo_name(&input.name, svc.config.max_repo_name_len)?;
2828 let db = svc.db.writer();
2929 let now = OffsetDateTime::now_utc();
30 let new_id = Uuid::new_v4();
30 let new_id = Uuid::now_v7();
3131 let active: repo_entity::ActiveModel = repo_entity::ActiveModel {
3232 id: Set(new_id),
3333 channel_id: Set(input.to_channel_id),
Modified lib/repo/features/pull_request/usecase.rs lib/repo/features/pull_request/usecase.rs +10 −10 View lib/repo/features/pull_request/usecase.rs
@@ -307,7 +307,7 @@
307307 content: Option<String>,
308308) -> RepoResult<()> {
309309 let active: event_entity::ActiveModel = event_entity::ActiveModel {
310 id: Set(Uuid::new_v4()),
310 id: Set(Uuid::now_v7()),
311311 pull_request_id: Set(pr_id),
312312 user_id: Set(user_id),
313313 event_type: Set(event_type.to_string()),
@@ -487,7 +487,7 @@
487487 let next_id = max_id.map(|n| n + 1).unwrap_or(1);
488488
489489 let now = OffsetDateTime::now_utc();
490 let issue_id = Uuid::new_v4();
490 let issue_id = Uuid::now_v7();
491491 let issue_active: issue_entity::ActiveModel = issue_entity::ActiveModel {
492492 id: Set(issue_id),
493493 collection_id: Set(repo_id),
@@ -503,7 +503,7 @@
503503 };
504504 issue_active.insert(&txn).await?;
505505
506 let pr_id = Uuid::new_v4();
506 let pr_id = Uuid::now_v7();
507507 let pr_active: pr_entity::ActiveModel = pr_entity::ActiveModel {
508508 id: Set(pr_id),
509509 repo_id: Set(repo_id),
@@ -798,7 +798,7 @@
798798 let now = OffsetDateTime::now_utc();
799799
800800 let active: comment_entity::ActiveModel = comment_entity::ActiveModel {
801 id: Set(Uuid::new_v4()),
801 id: Set(Uuid::now_v7()),
802802 pull_request_id: Set(pr.id),
803803 user_id: Set(actor),
804804 review_id: Set(None),
@@ -872,7 +872,7 @@
872872 let now = OffsetDateTime::now_utc();
873873
874874 let active: review_entity::ActiveModel = review_entity::ActiveModel {
875 id: Set(Uuid::new_v4()),
875 id: Set(Uuid::now_v7()),
876876 pull_request_id: Set(pr.id),
877877 user_id: Set(actor),
878878 commit_sha: Set(input.commit_sha.unwrap_or(pr.head_sha)),
@@ -1124,7 +1124,7 @@
11241124 let path = std::env::temp_dir().join(format!(
11251125 "pr-repo-test-{}-{}",
11261126 std::process::id(),
1127 Uuid::new_v4()
1127 Uuid::now_v7()
11281128 ));
11291129 git(&path, &["init", "-q", "--bare", "-b", "main"]);
11301130 Self { path }
@@ -1219,11 +1219,11 @@
12191219
12201220 fn pr_model(number: i32) -> pr_entity::Model {
12211221 pr_entity::Model {
1222 id: Uuid::new_v4(),
1223 repo_id: Uuid::new_v4(),
1224 issue_id: Uuid::new_v4(),
1222 id: Uuid::now_v7(),
1223 repo_id: Uuid::now_v7(),
1224 issue_id: Uuid::now_v7(),
12251225 autoincrement_id: number,
1226 author_id: Uuid::new_v4(),
1226 author_id: Uuid::now_v7(),
12271227 title: "Add feature".to_string(),
12281228 body: String::new(),
12291229 head_branch: "feature".to_string(),
Modified lib/repo/features/release/usecase.rs lib/repo/features/release/usecase.rs +1 −1 View lib/repo/features/release/usecase.rs
@@ -164,7 +164,7 @@
164164 let db = svc.db.writer();
165165 let now = OffsetDateTime::now_utc();
166166 let active: release_entity::ActiveModel = release_entity::ActiveModel {
167 id: Set(Uuid::new_v4()),
167 id: Set(Uuid::now_v7()),
168168 repo_id: Set(repo_id),
169169 publisher_id: Set(actor),
170170 publisher_name: Set(String::new()),
Modified lib/repo/features/tag/usecase.rs lib/repo/features/tag/usecase.rs +1 −1 View lib/repo/features/tag/usecase.rs
@@ -95,7 +95,7 @@
9595 let db = svc.db.writer();
9696 let now = OffsetDateTime::now_utc();
9797 let active: tag_entity::ActiveModel = tag_entity::ActiveModel {
98 id: Set(Uuid::new_v4()),
98 id: Set(Uuid::now_v7()),
9999 repo_id: Set(repo_id),
100100 name: Set(name),
101101 tag_type: Set(if is_annotated {
Modified lib/repo/features/tag_protection/usecase.rs lib/repo/features/tag_protection/usecase.rs +1 −1 View lib/repo/features/tag_protection/usecase.rs
@@ -96,7 +96,7 @@
9696 let now = OffsetDateTime::now_utc();
9797 let users = input.whitelist_usernames.unwrap_or_default();
9898 let active: policy_entity::ActiveModel = policy_entity::ActiveModel {
99 id: Set(Uuid::new_v4()),
99 id: Set(Uuid::now_v7()),
100100 repo_id: Set(repo_id),
101101 name_pattern: Set(input.name_pattern),
102102 allowlist_user_ids: Set(join_uuids(&users)),
Modified lib/repo/features/topic/usecase.rs lib/repo/features/topic/usecase.rs +3 −3 View lib/repo/features/topic/usecase.rs
@@ -28,7 +28,7 @@
2828 }
2929 let now = OffsetDateTime::now_utc();
3030 let active: topic_entity::ActiveModel = topic_entity::ActiveModel {
31 id: Set(Uuid::new_v4()),
31 id: Set(Uuid::now_v7()),
3232 name: Set(topic_name.to_string()),
3333 created_at: Set(now),
3434 updated_at: Set(now),
@@ -104,7 +104,7 @@
104104 if exists.is_none() {
105105 let active: db::repo::repo_relation_topic::ActiveModel =
106106 db::repo::repo_relation_topic::ActiveModel {
107 id: Set(Uuid::new_v4()),
107 id: Set(Uuid::now_v7()),
108108 repo_id: Set(repo_id),
109109 topic_id: Set(topic.id),
110110 created_at: Set(OffsetDateTime::now_utc()),
@@ -151,7 +151,7 @@
151151 }
152152 let active: db::repo::repo_relation_topic::ActiveModel =
153153 db::repo::repo_relation_topic::ActiveModel {
154 id: Set(Uuid::new_v4()),
154 id: Set(Uuid::now_v7()),
155155 repo_id: Set(repo_id),
156156 topic_id: Set(topic_model.id),
157157 created_at: Set(OffsetDateTime::now_utc()),
Modified lib/repo/permission.rs lib/repo/permission.rs +2 −2 View lib/repo/permission.rs
@@ -116,7 +116,7 @@
116116
117117 fn member_actor(space_role: SpaceRole) -> ActorContext {
118118 ActorContext {
119 user_id: Some(uuid::Uuid::new_v4()),
119 user_id: Some(uuid::Uuid::now_v7()),
120120 scopes: Default::default(),
121121 is_site_admin: false,
122122 channel_role: None,
@@ -126,7 +126,7 @@
126126
127127 fn stranger_actor() -> ActorContext {
128128 ActorContext {
129 user_id: Some(uuid::Uuid::new_v4()),
129 user_id: Some(uuid::Uuid::now_v7()),
130130 scopes: Default::default(),
131131 is_site_admin: false,
132132 channel_role: None,
Modified lib/space/features/channels/usecase.rs lib/space/features/channels/usecase.rs +2 −2 View lib/space/features/channels/usecase.rs
@@ -137,7 +137,7 @@
137137 require_directory_parent(&db, space_id, parent_id).await?;
138138 let now = OffsetDateTime::now_utc();
139139 let active: channel_entity::ActiveModel = channel_entity::ActiveModel::builder()
140 .set_id(Uuid::new_v4())
140 .set_id(Uuid::now_v7())
141141 .set_space_id(Some(space_id))
142142 .set_name(name.to_string())
143143 .set_kind(channel_entity::ChannelKind::Directory)
@@ -178,7 +178,7 @@
178178 require_directory_parent(db, space_id, parent_dir).await?;
179179 let now = OffsetDateTime::now_utc();
180180 let active: channel_entity::ActiveModel = channel_entity::ActiveModel::builder()
181 .set_id(Uuid::new_v4())
181 .set_id(Uuid::now_v7())
182182 .set_space_id(Some(space_id))
183183 .set_name(name.to_string())
184184 .set_kind(channel_entity::ChannelKind::Object)
Modified lib/space/features/invites/usecase.rs lib/space/features/invites/usecase.rs +2 −2 View lib/space/features/invites/usecase.rs
@@ -78,8 +78,8 @@
7878 let expires_at = parse_ts(cmd.expires_at.as_deref())?;
7979 let db = svc.db.writer();
8080 let now = OffsetDateTime::now_utc();
81 let id = Uuid::new_v4();
82 let accept_code = format!("{}-{}", Uuid::new_v4().simple(), Uuid::new_v4().simple());
81 let id = Uuid::now_v7();
82 let accept_code = format!("{}-{}", Uuid::now_v7().simple(), Uuid::now_v7().simple());
8383 let role_ids = cmd
8484 .role_ids
8585 .iter()
Modified lib/space/features/overwrites/usecase.rs lib/space/features/overwrites/usecase.rs +1 −1 View lib/space/features/overwrites/usecase.rs
@@ -94,7 +94,7 @@
9494 active.update(&db).await?
9595 } else {
9696 let active: role_ow_entity::ActiveModel = role_ow_entity::ActiveModel::builder()
97 .set_id(Uuid::new_v4())
97 .set_id(Uuid::now_v7())
9898 .set_space_id(space_id)
9999 .set_channel_id(channel_id)
100100 .set_role_id(cmd.role_id)
Modified lib/space/features/roles/usecase.rs lib/space/features/roles/usecase.rs +1 −1 View lib/space/features/roles/usecase.rs
@@ -110,7 +110,7 @@
110110 }
111111
112112 let now = OffsetDateTime::now_utc();
113 let role_id = Uuid::new_v4();
113 let role_id = Uuid::now_v7();
114114 let color = cmd.color.clone().unwrap_or_default();
115115 let unicode_emoji = cmd.unicode_emoji.clone();
116116 let icon_hash = cmd.icon_hash.clone();
Modified lib/space/features/spaces/usecase.rs lib/space/features/spaces/usecase.rs +1 −1 View lib/space/features/spaces/usecase.rs
@@ -32,7 +32,7 @@
3232
3333 let writer = svc.db.writer();
3434 let now = OffsetDateTime::now_utc();
35 let id = Uuid::new_v4();
35 let id = Uuid::now_v7();
3636 let active: space_entity::ActiveModel = space_entity::ActiveModel::builder()
3737 .set_id(id)
3838 .set_lower_name(name.to_lowercase())
Modified lib/user/features/deletion/usecase.rs lib/user/features/deletion/usecase.rs +1 −1 View lib/user/features/deletion/usecase.rs
@@ -35,7 +35,7 @@
3535 let now = time::OffsetDateTime::now_utc();
3636 let active: db::user::user_deletion_requests::ActiveModel =
3737 db::user::user_deletion_requests::ActiveModel::builder()
38 .set_id(Uuid::new_v4())
38 .set_id(Uuid::now_v7())
3939 .set_user_id(caller)
4040 .set_reason(cmd.reason)
4141 .set_status(DbDeletionStatus::Pending)
Modified lib/user/features/emails/usecase.rs lib/user/features/emails/usecase.rs +3 −3 View lib/user/features/emails/usecase.rs
@@ -41,7 +41,7 @@
4141 let now = time::OffsetDateTime::now_utc();
4242 let active: db::user::user_emails::ActiveModel =
4343 db::user::user_emails::ActiveModel::builder()
44 .set_id(Uuid::new_v4())
44 .set_id(Uuid::now_v7())
4545 .set_user_id(caller)
4646 .set_email(email.clone())
4747 .set_lower_email(email)
@@ -188,9 +188,9 @@
188188 let now = time::OffsetDateTime::now_utc();
189189 let active: db::user::user_email_change_tickets::ActiveModel =
190190 db::user::user_email_change_tickets::ActiveModel::builder()
191 .set_id(Uuid::new_v4())
191 .set_id(Uuid::now_v7())
192192 .set_user_id(caller)
193 .set_token_hash(format!("placeholder:{}", Uuid::new_v4()))
193 .set_token_hash(format!("placeholder:{}", Uuid::now_v7()))
194194 .set_new_email(new_email)
195195 .set_original_email(None)
196196 .set_status(EmailChangeTicketStatus::Pending)
Modified lib/user/features/notifications/usecase.rs lib/user/features/notifications/usecase.rs +2 −2 View lib/user/features/notifications/usecase.rs
@@ -189,7 +189,7 @@
189189 let now = time::OffsetDateTime::now_utc();
190190 let active: db::user::user_reports::ActiveModel =
191191 db::user::user_reports::ActiveModel::builder()
192 .set_id(Uuid::new_v4())
192 .set_id(Uuid::now_v7())
193193 .set_reporter_uid(Some(caller))
194194 .set_reported_uid(cmd.reported_uid)
195195 .set_reason(cmd.reason)
@@ -297,7 +297,7 @@
297297 let now = time::OffsetDateTime::now_utc();
298298 let active: db::user::user_saved_messages::ActiveModel =
299299 db::user::user_saved_messages::ActiveModel::builder()
300 .set_id(Uuid::new_v4())
300 .set_id(Uuid::now_v7())
301301 .set_user_id(caller)
302302 .set_channel_id(cmd.channel_id)
303303 .set_message_id(cmd.message_id)
Modified lib/user/features/profile/usecase.rs lib/user/features/profile/usecase.rs +1 −1 View lib/user/features/profile/usecase.rs
@@ -200,7 +200,7 @@
200200 None => {
201201 let active: db::user::user_favorite_memes::ActiveModel =
202202 db::user::user_favorite_memes::ActiveModel::builder()
203 .set_id(Uuid::new_v4())
203 .set_id(Uuid::now_v7())
204204 .set_user_id(caller)
205205 .set_name(cmd.name)
206206 .set_content_type(cmd.content_type)
Modified lib/user/features/security/usecase.rs lib/user/features/security/usecase.rs +4 −4 View lib/user/features/security/usecase.rs
@@ -68,7 +68,7 @@
6868 let hash = sha256_hex(raw.as_bytes());
6969 let active: db::user::user_recovery_codes::ActiveModel =
7070 db::user::user_recovery_codes::ActiveModel::builder()
71 .set_id(Uuid::new_v4())
71 .set_id(Uuid::now_v7())
7272 .set_user_id(caller)
7373 .set_code_hash(hash)
7474 .set_used_at(None)
@@ -130,7 +130,7 @@
130130 let writer = svc.db.writer();
131131 let active: db::user::user_access_keys::ActiveModel =
132132 db::user::user_access_keys::ActiveModel::builder()
133 .set_id(Uuid::new_v4())
133 .set_id(Uuid::now_v7())
134134 .set_user_id(caller)
135135 .set_name(cmd.name)
136136 .set_token_hash(hash)
@@ -237,7 +237,7 @@
237237 let now = time::OffsetDateTime::now_utc();
238238 let active: db::user::user_ssh_keys::ActiveModel =
239239 db::user::user_ssh_keys::ActiveModel::builder()
240 .set_id(Uuid::new_v4())
240 .set_id(Uuid::now_v7())
241241 .set_user_id(caller)
242242 .set_key_type(key_type)
243243 .set_fingerprint(fingerprint.clone())
@@ -369,7 +369,7 @@
369369 } else {
370370 let active: db::user::user_push_subscriptions::ActiveModel =
371371 db::user::user_push_subscriptions::ActiveModel::builder()
372 .set_id(Uuid::new_v4())
372 .set_id(Uuid::now_v7())
373373 .set_user_id(caller)
374374 .set_endpoint(cmd.endpoint)
375375 .set_p256dh_key(cmd.p256dh_key)
Modified lib/user/features/social/usecase.rs lib/user/features/social/usecase.rs +2 −2 View lib/user/features/social/usecase.rs
@@ -40,7 +40,7 @@
4040 return Ok(());
4141 }
4242 let active: followers::ActiveModel = followers::ActiveModel::builder()
43 .set_id(Uuid::new_v4())
43 .set_id(Uuid::now_v7())
4444 .set_follower_id(follower)
4545 .set_followed_id(target)
4646 .set_created_at(time::OffsetDateTime::now_utc())
@@ -194,7 +194,7 @@
194194 .await?;
195195 if existing.is_none() {
196196 let active: blocks::ActiveModel = blocks::ActiveModel::builder()
197 .set_id(Uuid::new_v4())
197 .set_id(Uuid::now_v7())
198198 .set_blocker_id(blocker)
199199 .set_blocked_id(target)
200200 .set_created_at(time::OffsetDateTime::now_utc())
Modified lib/user/features/suspensions/usecase.rs lib/user/features/suspensions/usecase.rs +1 −1 View lib/user/features/suspensions/usecase.rs
@@ -45,7 +45,7 @@
4545 let now = time::OffsetDateTime::now_utc();
4646 let active: db::user::user_suspensions::ActiveModel =
4747 db::user::user_suspensions::ActiveModel::builder()
48 .set_id(Uuid::new_v4())
48 .set_id(Uuid::now_v7())
4949 .set_user_id(target)
5050 .set_suspension_type(cmd.suspension_type)
5151 .set_reason(cmd.reason)
Modified lib/webhook/dispatcher.rs lib/webhook/dispatcher.rs +1 −1 View lib/webhook/dispatcher.rs
@@ -126,7 +126,7 @@
126126 };
127127
128128 let delivery = webhook_deliveries::ActiveModel {
129 id: Set(Uuid::new_v4()),
129 id: Set(Uuid::now_v7()),
130130 webhook_id: Set(webhook.id),
131131 event_type: Set("push".to_string()),
132132 payload: Set(String::from_utf8_lossy(payload).into_owned()),
Modified lib/webhook/payload.rs lib/webhook/payload.rs +3 −3 View lib/webhook/payload.rs
@@ -40,13 +40,13 @@
4040 "0000000000000000000000000000000000000000",
4141 "1111111111111111111111111111111111111111",
4242 )];
43 PostReceiveTask::new(Uuid::new_v4(), Uuid::new_v4(), Some(Uuid::new_v4()), refs)
43 PostReceiveTask::new(Uuid::now_v7(), Uuid::now_v7(), Some(Uuid::now_v7()), refs)
4444 }
4545
4646 fn sample_repo() -> repos::Model {
4747 repos::Model {
48 id: Uuid::new_v4(),
49 channel_id: Uuid::new_v4(),
48 id: Uuid::now_v7(),
49 channel_id: Uuid::now_v7(),
5050 lower_name: "demo".into(),
5151 name: "demo".into(),
5252 description: None,
Modified Cargo.toml Cargo.toml +1 −1 View Cargo.toml
@@ -66,7 +66,7 @@
6666sea-orm = { version = "2.0.1", features = ["sqlx-all","runtime-tokio","with-time","with-uuid"]}
6767serde = { version = "1.0.229", features = ["derive"] }
6868time = { version = "0.3", features = ["serde", "macros", "formatting"] }
69uuid = { version = "1", features = ["v4", "serde"] }
69uuid = { version = "1", features = ["v7", "serde"] }
7070lombok = "0.4.0"
7171log = "0.4"
7272tracing = "0.1.44"