1
0

Work approved.

Include template and resulting pdf in the repo.
This commit is contained in:
2025-03-03 10:33:38 +02:00
parent eba28962bc
commit f955059ed8
5 changed files with 732 additions and 36 deletions

View File

@ -260,15 +260,9 @@
sb.name AS package_base_name,
sb.description AS package_base_description,
-- extract user roles
MAX(
CASE WHEN ur.role = 1 THEN ur.users END
) AS submitters,
MAX(
CASE WHEN ur.role = 3 THEN ur.users END
) AS maintainers,
MAX(
CASE WHEN ur.role = 2 THEN ur.users END
) AS packagers,
MAX(CASE WHEN ur.role = 1 THEN ur.users END) AS submitters,
MAX(CASE WHEN ur.role = 3 THEN ur.users END) AS maintainers,
MAX(CASE WHEN ur.role = 2 THEN ur.users END) AS packagers,
-- extract packages
MAX(pi.packages) AS packages
@ -501,35 +495,30 @@
COUNT(*)
FROM
role_counts
WHERE
maintainer_count > 0
WHERE maintainer_count > 0
) AS maintainers_count,
(
SELECT
COUNT(*)
FROM
role_counts
WHERE
submitter_count > 0
WHERE submitter_count > 0
) AS submitters_count,
(
SELECT
COUNT(*)
FROM
role_counts
WHERE
packager_count > 0
WHERE packager_count > 0
) AS packagers_count,
(
SELECT
COUNT(*)
FROM
role_counts
WHERE
flagger_count > 0
WHERE flagger_count > 0
) AS flaggers_count
FROM
user_stats us;
FROM user_stats us;
```
== Статистика пакунків //{{{2
@ -1556,18 +1545,14 @@ let search_data = Data {
self.state = State::Searching;
let arc = self.service.clone();
return Some(
Task::perform(
async move {
let Some(service) = arc.try_lock() else {
return Err("other search request is being performed".into());
};
service.search(search_data).await
},
|r| Message::RequestResult(Arc::new(r)),
)
.into(),
);
return Some(Task::perform(async move {
let Some(service) = arc.try_lock() else {
return Err("other search request is being performed".into());
};
service.search(search_data).await
},
|r| Message::RequestResult(Arc::new(r)),
).into());
```
У шарі сервісу функція пошуку насилає дані до репозиторію пошуку:
@ -1614,9 +1599,12 @@ SELECT
FROM
Packages p
JOIN PackageBases pb ON p.base = pb.id
WHERE p.name LIKE ?
ORDER BY p.updated_at DESC
LIMIT 75;
WHERE
p.name LIKE ?
ORDER BY
p.updated_at DESC
LIMIT
75;
```
Якщо виконати пошук пакунку за повним юзернеймом користувача "alice", відсортований у висхідному порядку за часом створення, з лімітом у 25 результатів, то до бази даних буде побудований і відправлений наступний запит:```