collab: Restrict usage of the LLM service to accounts older than 30 days (#16133)

This PR restricts usage of the LLM service to accounts older than 30
days.

We now store the GitHub user's `created_at` timestamp to check the
GitHub account age. If this is not set—which it won't be for existing
users—then we use the `created_at` timestamp in the Zed database.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
This commit is contained in:
Marshall Bowers 2024-08-12 17:27:21 -04:00 committed by GitHub
parent f398ecc3fb
commit 98516b5527
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 64 additions and 9 deletions

View file

@ -1,5 +1,6 @@
use crate::{db::ChannelId, tests::TestServer};
use call::ActiveCall;
use chrono::Utc;
use editor::Editor;
use gpui::{BackgroundExecutor, TestAppContext};
use rpc::proto;
@ -167,7 +168,7 @@ async fn test_channel_requires_zed_cla(cx_a: &mut TestAppContext, cx_b: &mut Tes
server
.app_state
.db
.get_or_create_user_by_github_account("user_b", Some(100), None, None)
.get_or_create_user_by_github_account("user_b", Some(100), None, Some(Utc::now()), None)
.await
.unwrap();
@ -265,7 +266,7 @@ async fn test_channel_requires_zed_cla(cx_a: &mut TestAppContext, cx_b: &mut Tes
server
.app_state
.db
.add_contributor("user_b", Some(100), None, None)
.add_contributor("user_b", Some(100), None, Some(Utc::now()), None)
.await
.unwrap();