Commit graph

61 commits

Author SHA1 Message Date
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
ea0e299fef
chore: fix CI Gitea launch 2022-04-06 10:31:17 +05:30
9d137f8dcf
feat: check if provided URL points to a Gitea instance 2022-04-06 10:10:38 +05:30
8a305d6db1
feat: crawl gitea and get all repository information 2022-04-06 10:09:49 +05:30
35aa155c0e
feat: initialize app data and apply clippy lints 2022-04-06 10:08:15 +05:30
f8660f9216
feat: spin up Gitea instance for development and testing 2022-04-06 10:06:14 +05:30
307e9397fc
feat: configuration option for wait time before next API call 2022-04-06 10:05:34 +05:30
98a765ddea
feat: spin up and install Gitea and create new user for testing 2022-04-06 09:24:15 +05:30
7852ae634d
feat: add crawler configuration options 2022-04-03 19:59:45 +05:30