Commit graph

69 commits

Author SHA1 Message Date
d4ada24c06
feat: setup cache busting for static assets 2022-05-18 20:25:43 +05:30
8ad466dbc8
fix: rm unique constraint on profile photo link
DESCRIPTION
    If user hasn't configured a profile photo on their forge instance,
    it would point to the default photo of the forge instance, which
    might be the same for all users without a profile photo on that
    forge instance.
2022-05-18 19:57:48 +05:30
9cf1d9df46
hotfix: CI: disable build cache 2022-05-18 19:42:29 +05:30
5add143318
feat: bootstrap actix-web 2022-05-18 17:39:53 +05:30
2c6e9e766b
feat: setup coverage generation for workspaces 2022-05-17 20:27:45 +05:30
d0fd8166e3
feat: add federation file writes in crawl method 2022-05-17 20:12:30 +05:30
f03bd5aaae
feat: setup federation file writes 2022-05-17 20:12:14 +05:30
519855a7c3
feat: mv write_util out of Federate trait for allowing creation of trait objs 2022-05-17 20:11:35 +05:30
882fde7d20
feat: setup check and test for federate/* workspaces 2022-05-17 19:58:11 +05:30
65eab4e488
chore: rename data::Data to ctx::Ctx 2022-05-17 19:57:57 +05:30
fd0b2f5d6d
feat: implement federate_core on a subset of publiccodeyml schema
REFERENCES
    [0]: https://github.com/forgeflux-org/starchart/issues/3
    [1]: https://github.com/publiccodeyml/publiccode.yml/discussions/157
2022-05-17 19:48:26 +05:30
95ca4fb1d3
feat: define interfaces to enable file-based federation mechanisms
DESCRIPTION
    <BASE_DIR>/forge.example.com/:
	This directory contains all data related to a particular forge instance running
	at forge.example.com

    <BASE_DIR>/forge.example.com/forgeinfo:
	This file contains metadata pertaining to a forge.

	The file format and file name is left to the discretion of the
	implementer.

    <BASE_DIR>/forge.example.com/john/:
	This directory contains all data related to a user named "john"
	on forge instance at forge.example.com.

    <BASE_DIR>/forge.example.com/john/userinfo:
	This file contains all metadata related to a user named "john"
	on forge instance at forge.example.com.

	The file format and file name is left to the discretion of the
	implementer.

    <BASE_DIR>/forge.example.com/john/repo-foo/:
	This directory contains all data related to a repository named
	"repo-foo" owned by user "john" on forge instance at
	forge.example.com.

    <BASE_DIR>/forge.example.com/john/repo-foo/repo-info:
	This file contains all metadata related to a repository named
	"repo-foo" owned by user "john" on forge instance at
	forge.example.com.

	The file format and file name is left to the discretion of the
	implementer.
2022-05-17 19:42:23 +05:30
65176bbdea
feat: impl interface to del user and repo sqlx sqlite 2022-05-17 16:15:04 +05:30
5481055e45
feat: define interface to del user and repository 2022-05-17 16:14:52 +05:30
dcb11a4d11
feat: database errors 2022-05-17 14:56:33 +05:30
38d897023c
feat: setup check and test for forge/* workspaces 2022-05-17 01:15:37 +05:30
aefc691033
feat: migrate gitea interfaces to use forge/gitea interfaces 2022-05-17 01:04:44 +05:30
d2f5f25c87
feat: implement starchart for gitea 2022-05-17 01:04:17 +05:30
72a6ce9564
feat: define core forge interface to implement starchart 2022-05-17 01:03:54 +05:30
ec9bb69f98
feat: type adjustmets 2022-05-17 01:03:27 +05:30
a146386e68
chore: update deps 2022-05-05 00:49:23 +05:30
59aafc037e
feat: save repositories and tags 2022-05-04 23:51:05 +05:30
0acfd137be
feat: add tags to repositories screated by gitea CI scripts 2022-05-04 22:53:08 +05:30
6355835135
chore: fix types for easy use with bin 2022-05-04 22:35:23 +05:30
21c93a5e4e
feat: implement create_repository for sqlite 2022-05-04 12:10:37 +05:30
cb8500da3f
feat: create_repository interface 2022-05-04 12:10:13 +05:30
2055a00565
feat: sqlite sqlx implementation for repository_exists 2022-05-01 19:08:01 +05:30
85aafb4b96
feat: add repository_exists method 2022-05-01 19:07:49 +05:30
3d98149244
feat: username save on spider::crawl 2022-04-30 23:51:38 +05:30
cb9b8d6d0d
fix: user_exists was a copy of hostname_exists, now fixed 2022-04-30 23:50:59 +05:30
a57759ea80
feat: add owner field and implement Hash for all Gitea response types 2022-04-30 23:50:45 +05:30
4cd62dcb40
feat: uniform hostname extraction for DB storage via get_hostname 2022-04-30 23:45:37 +05:30
6f21a8b49e
feat: implement add_user and user_exists for sqlite 2022-04-20 16:27:56 +05:30
5102531a70
feat: add_user and user_exists with accompanying test suites
DESCRIPTION
    add_user
	Adds new user to DB. Implementers must ensure username
	uniqueness scoped at forge instance level. When applicable, HTML
	link to profile photo may be stored as we..
    user_exists
	Checks if a user exists in database. Optionally provide hostname
	of forge instance to get forge-specific results.
2022-04-20 16:23:38 +05:30
b8be794c19
chore: CI: bump actions/cache version 2022-04-13 15:44:20 +05:30
df4343c667
chore: fix CI 2022-04-13 15:01:17 +05:30
fc690fbefe
feat: setup docker-compose Gitea as part of dev-env 2022-04-13 15:01:06 +05:30
c0303ba8c5
feat: create instance the first time it is encountered and load DB from
test env
2022-04-13 14:12:29 +05:30
f1ea436080
feat: load and init Gitea before testing 2022-04-13 12:21:34 +05:30
efb5401691
feat: load and init db-sqlx-sqlite with testing environment setup 2022-04-13 12:20:26 +05:30
ec97f096de
chore: load env vars where relevant 2022-04-13 12:19:42 +05:30
89cdee765a
feat: add hacking instructions(wip) 2022-04-13 12:17:14 +05:30
5099eefa54
feat: implement SCDatabase for sqlite 2022-04-12 17:48:05 +05:30
d3d2abf074
feat: add tests to check for forge types in DB 2022-04-12 17:47:34 +05:30
e124cb6348
feat: mod make to work with only db-sqlx-sqlite workspace 2022-04-12 17:46:53 +05:30
da88e6f0b4
feat: test only db-sqlx-sqlite workspace 2022-04-12 17:45:35 +05:30
99fabab5bc
feat: add tests to check if forge type is loaded into DB 2022-04-12 17:44:21 +05:30
2a8283acc0
feat: define core DB traits to store, check for existence and delete
forges
2022-04-12 17:35:09 +05:30
5af8888936
feat: migrator binary 2022-04-12 17:34:25 +05:30
b39ce2098a
fix: loading sqlite database URL from env var
SUMMARY
    sqlite caused problems(panic) when trying to break its database URL
    when trying to break it down into host, protocol, path and port,
    etc. with crate::settings;:DatabaseBuilder. Bypassing
    DatabaseBuilder and directly setting crate::settings::Database.url,
    fixes this issue.
2022-04-12 17:17:24 +05:30